位置:首页 > 软件操作教程 > 编程开发 > JavaScript > 问题详情

JavaScript 循环结构 for/in 语句

提问人:刘团圆发布时间:2020-11-24

■知识点

for/in语句是for语句的一种特殊形式。其语法格式如下:

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

    statement

    variable表示一个变量,可以在其前面附加var语句,用来直接声明变量名。in后面是一个对象或数组类型的表达式。在遍历对象或数组过程中,把获取的每一个值赋值给variable。

    然后,执行statement语句,其中可以访问variable来读取每个对象属性或数组元素的值。执行完毕,返回继续枚举下一个元素,周而复始,直到所有元素都被枚举为止。

注意:

■实例设计

【示例1】下面的示例使用for/in语句遍历数组,并枚举每个元素及其值,效果如图所示。

var a = [1,true, "0", [false], {}];                    //声明并初始化数组变量

for(var n in a){                                       //遍历数组

    document.write( "a[" + n + "] = " + a[n] + "<br>");//显示每个元素的值

}

【示例2】在下面的示例中,定义一个对象0,设置3个属性,然后使用for/iii迭代对象属性,把每个属性值寄存到一个数组中。

var o ={ x : 1, y : true, z : "true"},    //定义包含3个属性的对象

    a = [],                            //临时寄存数组

    n = 0;                            //定义循环变量,初始化为0

for(a[n ++ ] in o);                    //遍历对象o,然后把所有属性都赋值到数组中

其中,”for(a[Tl++]in0);"语句实际上是一个空的循环结构,分号为一个空语句。

【示例3】for/in适合枚举不确定长度的对象。在下面的示例中,使用for/iii读取客户端document 对象的所有可读属性。

for(var i = 0 in document){

    document.write ("document. "+i+"="+document[i] +"<br />");

}

【示例4】for/in能够枚举可枚举的属性,包括原生属性和继承属性。

Array, prototypes = "x"; //自定义数组对象的继承厲性

var a = [1,2,3];         //定义数组对象,并赋值

a.y = "y";                 //定义数组对象的额外属性

for (var i in a) {         //遍历数组对象a

    document. write ( i+": " + a[i] + "<br />");

}

    在上面的示例中,共获取5个元素,其中包括3个原生元素,1个是继承的属性x和1个额外的属性y。

    如果仅想获取数组a的元素值,只能使用for循环结构。

for(var i = 0; i <a.length ; i ++ )

    document.write( i + ":" + a[i] + "<br />");

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部