我对javascript中的结果有疑问,因为我不太了解它。 为什么如果我使用这个代码它会得到下一个结果:
var a =[1][1];
var b = [1][0];
if(a){console.log(true);}else{console.log( false);} --> returns false
if(b){console.log(true);}else{console.log(false);} --> returns true
任何人都可以帮我解释一下javascript如何解释这个结果的确切方法吗? 非常感谢你!
祝你好运, 维克多
答案 0 :(得分:2)
实际上非常简单,让我们分解一下:
var a =[1][1];
细分是:
var a = [1]; //An array with the value '1' at the 0 index
a = a[1]; //assigns a the result of the 1 index, which is undefined
与b
相同 - 但b
使用0
索引,该索引已定义(1
};
a
undefined
是假的,b
是1 - 这是真的。
答案 1 :(得分:2)
Basicall您使用的数组值为1
。
a
获取undefined
,因为没有索引为1
的元素。
由于索引为b
的元素1
,1
获得0
。
var a = [1][1]; // undefined
var b = [1][0]; // 1
console.log(a); // undefined
console.log(b); // 1
if (a) {
console.log(true);
} else {
console.log(false); // false
}
if (b) {
console.log(true); // true
} else {
console.log(false);
}