for...in语句是严格的迭代语句,主要用于枚举对象的属性。
?
这是需要说一下Object类的一个属性:PropertyIsEnumerable? 这个属性可以判断是否可以使用for...in进行枚举
?
然后再说明一下标签:
?可以用这样的语法给语句加标签,以便以后使用。
?label:? statement
?例如:? start:var iCount = 10;
标签可被后来的break或者continue语句引用。
?
?
break语句和continue语句都可以和有标签的语句联合使用,返回代码中的特定的位置。通常情况下,当循环内部还有循环时候,会这样做。下面的例子:
?
var iNum = 0; outermost: for (var i = 0; i < 10; i++){ for(var j = 0; j < 10; j++){ if (i ==5 && j == 5){ break outermost; } iNum++; } } alert(iNum); //output "55"
?
??? 这个列子没有什么好说明的,当外面的i和里面的j都等于5的时候,循环内部和外部的都将被终止。
??? 看下面的这个例子:
???
var iNum = 0;
outermost: for (var i = 0; i < 10; i++){ ???? for(var j = 0; j < 10; j++){ ?????????? if (i ==5 && j == 5){ ??????????????? break outermost; ?????????? } ?????????? iNum++; ???? } }
alert(iNum);?? //output "95"
???
??? 这个例子需要说明的,当外面的i和里面的j都等于5的时候,结束了里面j==5的这次执行,也同时结束了外面的i等于5的执行,也就是说i==5时j==6,7,8,9,都将不执行,直接跳到i=6开始执行。
?
?
???