JavaScript 循环结构 for/in

程序开发中,存在大量的重复性操作或计算,这些动作必须依靠循环结构来完成。JavaScript 定义了 while、for 和 do/while 3 种类型循环语句。这几种循环都很常见了,这里说一种 for 循环的特殊形式 for/in

for-in 语句是一种精准的迭代语句,可以用来枚举对象的属性。以下是 for-in 语句的语法:

for ([var] variable in <object | array>){
    statement
}

variable 表示一个变量,可以在其前面附加 var 语句,用来直接声明变量名。in 关键字后面是一个对象或数组类型的表达式。

在运行该循环结构时,会声明一个变量,然后计算对象或数组类型的表达式,并遍历该对象或表达式。在遍历过程中,每获取一个对象或数组元素,就会临时把对象或数组中元素存储在variable指定的变量中。注意,对于数组来说,该变量存储的是数组元素的下标;而对于对象来说,该变量存储的是对象的属性名或方法名。

然后,执行 statement 包含的语句。执行完毕,返回继续枚举下一个元素,以此周而复始,直到对象或数组中所有元素都被枚举为止。

在循环体内还可以通过中括号([ ])和临时变量variable来读取每个对象属性或数组元素的值。

下面这个例子演示了如何利用 for/in 语句遍历数组,并读取枚举中临时变量和元素的值的方法:

var a = [1,2,3,4];    //声明并初始化数组变量
for(var b in a){      //遍历数组
	alert(b);         //显示枚举中临时变量值
	alert(a[b]);      //显示每个元素的值
}

使用 while 或 for 语句通过数组下标和 length 属性可以实现相同的枚举操作,不过 for/in 语句提供了一种更直观、高效的枚举对象属性或数组元素的方法。

数组迭代是一件很重要的操作,在 ECMAScript5 之前主要使用 for 语句实现,这种方式不是很方便,为此 ECMAScript5 新增了 5 个与迭代相关的方法:every、some、forEach、filter、map,感兴趣的同学可以了解一下:JavaScript 数组迭代

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值