forIN 和 forOf

==记住,for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值。==

for in

for in是ES5的标准,是遍历对象的属性,一般在遍历对象的属性时用for in

for in 循环的是key

var x = ['a',123,{a:'1',b:'2'}]
for (var i in x) {
  console.log(x[i])
}
// a
// 123
// Object {a: "1", b: "2"}

for in 可以遍历普通的对象:

var y = {a: 'aaa', b: 'bbb'}
for (var i in y) {
  console.log(y[i])
}
//aaa
//bbb
for (var i in y) {
  console.log(i)
}
//a
//b

for of

for of是ES6引入的标准,遍历对象元素,一般情况遍历数组用for of

for of 循环的是value

var x = ['a',123,{a:'1',b:'2'}]
for (var i of x) {
  console.log(i)
}
// a
// 123
// Object {a: "1", b: "2"}

for of循环不会循环对象的key,只会循环出数组的value,因此for…of不能循环遍历普通象

var y = {a: 'aaa', b: 'bbb'}
for (var i of y) {
  console.log(i)
}
// Uncaught TypeError: undefined is not a function

参考

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值