函数返回错误值调用时让变量=()函数

问题描述:

基本上,如果index等于0,我希望它return 1,如果它等于1我希望它return 0函数返回错误值调用时让变量=()函数

所以我创造了这个。

let reverseIndex = function() { 
    console.log(timeIndex) // 1 
    let i 
    timeIndex === 0 ? i = 1 : i = 0 
    return i 
}() 

function getDiff(time) { 
    console.log(reverseIndex) // 1 (WRONG) 
} 

但是,如果我改变功能,只包括

function getDiff(time) { 
    let i 
    timeIndex === 0 ? i = 1 : i = 0 
    console.log(i) // 0 (CORRECT) 
} 
+0

什么是'timeIndex'内部功能? – brk

+0

为什么你把函数放在函数后面而不是放在函数调用中? – error404

+0

这里有很多错误,很难知道从哪里开始提问...... –

为什么不使用与三元声明赋值?

let i = timeIndex === 0 ? 1 : 0; 

更短,具有truty/falsy值,转换为布尔值并转换为布尔值的数量。

let i = +!timeIndex; 

或者干脆不使用临时变量

return +!timeIndex; 
+4

为什么使用'i'? – zero298

+0

因为我不想更改timeIndex – dsomel21

+0

@ dsomel21它没有。 –

你必须要小心你的变量的作用域返回值。 timeIndex在哪里定义?

最简单的功能,以获得正确的结果将是

function reverse(i) { 
    if (i==0) return 1; 
    if (i==1) return 0; 
}