无标题文章

2017-03-28  本文已影响0人  浅沧浅析

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.

上一篇 下一篇

猜你喜欢

热点阅读