for...in 和for...of的区别以及null和undefined的区别

for···in和for···of的区别

  • 1.首先一句话:(for···in取key,for··of取value)
  • 2.从遍历数组角度来说,for···in遍历出来的是key(即下标),for···of遍历出来的是value(即数组的值);
  • 3.从遍历字符串的角度来说,同数组一样。
  • 4.从遍历对象的角度来说,for···in会遍历出来的为对象的key,但for···of会直接报错
  • 5.如果要使用for…of遍历普通对象,需要配合Object.keys()一起使用。
var arr = [99,88,66,77];
for(let i in arr){
    console.log(i);   //0,1,2,3
}
for(let i of arr){
    consoel.log(i);   //99,88,66,77
}

null和undefined的相同性

  • 在JavaScript中,null 和 undefined 几乎相等
  • 在 if 语句中 null 和 undefined 都会转为false两者用相等运算符比较也是相等
console.log(null==undefined);    //true  因为两者都默认转换成了false
console.log(typeof undefined);    //"undefined"  
console.log(typeof null);       //"object"  
console.log(null===undefined);    //false   "==="表示绝对相等,null和undefined类型是不一样的,所以输出“false”

null和undefined区别

null

  • null表示没有对象,可能将来要赋值一个对象,即该处不应该有值
  • 作为函数的参数,表示该函数的参数不是对象
  • 作为对象原型链的终点

undefined

  • undefined表示缺少值,即此处应该有值,但没有定义
  • 定义了形参,没有传实参,显示undefined
  • 对象属性名不存在时,显示undefined
  • 函数没有写返回值,即没有写return,拿到的是undefined
  • 写了return,但没有赋值,拿到的是undefined

var i;
i // undefined

function f(x){console.log(x)}
f() // undefined

var  o = new Object();
o.p // undefined

var x = f();
x // undefined

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值