console.log(2==2==2)//false
console.log(1==1==1)//true
console.log(1===1===1)//false
-
先比较前一对,然后返回值为Boolean值ture或者false,然后再用Boolean和下一个比较,
==
转换类型比较,===
直接严格比较 -
forEach()不会在迭代之前创建数组的副本
-
如果数组在迭代时被修改了,则其他元素会被跳过
var words = ["one", "two", "three", "four"];
words.forEach(function(word) {
console.log(word);
if (word === "two") {
words.shift();
}
});
// one
// two
// four
- 复制代码当到达包含值 “two” 的项时,整个数组的第一个项被移除了,这导致所有剩下的项上移一个位置。因为元素 “four” 现在在数组更前的位置,“three” 会被跳过。 forEach() 不会在迭代之前创建数组的副本。
- 我的理解是tow被删了,但是下次索引是2,当前位置2为four,所以跳过three