1.
请不要混淆原始的布尔值true和false 与 布尔对象的值true和false(译者注:下例中b属于对象,会被计算为true!)。例如:
var b= new Boolean(false);
if(b) // this condition evaluates to true
if(b==true) // this condition evaluates to false
2.
False 等效值-------------false, undefined, null, 0, NaN, 空字符串 ("")
3.
虽然大多趋向于用for...in作为一种遍历数组(Array)元素的方式,因为除了遍历数组元素,for...in语句也遍历了用户自定义属性。如果你修改了数组对象,比如添加了通用属性或者方法,for...in语句还会返回除了数字索引(index)外的自定义属性的名称(name)。因此还是用带有数字索引的传统for循环来遍历数组会比较好。
与for...in循环遍历的结果是数组元素的下标不同的是,for...of 遍历的结果是元素的值:
let arr=[3,5,7];
arr.foo="hello";
for(let i in arr) {
console.log(i); // logs "0", "1", "2", "foo"
}
for( let i of arr)
{console.log(i); // logs "3", "5", "7" // 注意这里没有 hello}
4.