2012-06-10 21 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。