for循环语句是js中使用最频繁的语句之一,其基本语法如下:
for(initialize ; test ; increment) {
//do something
}
基本语法不再赘述,基本实例如:
生成一个从0到100的数字数组
var myArray = [];
for(var i = 0 ; i <= 100 ; i++) {
myArray.push(i);
}
以上写法清晰明了,当然也可以省略{}。
如果使用更简洁的写法呢?
for(var myArray = [], i = 0 ; i <= 100 ; myArray.push(i) , i++) /* empty */ ;
如此一行即可完成必要的工作。
循环中三个表达式 initialize (初始化) ; test (条件判断); increment(增量运算),以分号隔开,任意一个都可省略,但是分号不可或缺,自然的省略了条件判断就是死循环了,如for(;;)。
那么嗨有没有更简单的写法呢?
for ( var myArray = [], i = 0; myArray.push(i++) <= 100;) /* empty */;
上面写法省略了表达式中的增量运算语句,因为数组的push方法会立即返回新的长度。
其他:
var myArray = [];
for(var i = 0 ; i <= 100 ; i++) {
if (i === 99) continue ;
myArray.push(i);
}
continue 会跳出当前循环体,继续下一次循环操作,所以此次myArray数组中不含数字99。
break语句可以退出循环体。