2012-06-10 22 views

回答

2

因为new Array(4)被隐式转换为一个字符串,这将等于",,,"(四个空元素,逗号分隔)。

2

由于Array(4).toString()返回",,," - 4空元素,因此只有它们之间的逗号

5
console.log(new Array(4).toString()); // ",,," 

浇铸与上述值使得无论相等。

",,," == ",,," // true 

JS看到,关于左手是一个字符串,并在右侧的阵列这是不好为了进行比较,它施放阵列字符串,然后做比较。

注意:

log(",,," === new Array(4)); 

会导致不仅为valuetype和类型false因为===检查当然是不同的。

1

字符串形式的数组产生一个以逗号分隔的元素列表,即1,2,3,4。如果阵列中没有元素,它将显示为,,,

(new Array(4)).toString()产生,,,

请注意,new Array(4) === ",,,"返回false。