简单的for循环有什么新玩法

或许for循环我们90%的时间都在这么用:

for(let i = 0 ; i < 10; i++){
    console.log(i)
}
复制代码

有没有仔细考虑过这三个条件能不能又特别的玩法? for(语句1, 语句2, 语句3){}

  • 语句1: 在循环代码块执行前执行(一定会执行)
  • 语句2: 定义代码块运行的条件,也是在循环代码块执行前执行;
  • 语句3:在循环代码块执行完之后才执行;

执行顺序: 语句1 -> 语句2 -> 循环代码块 -> 语句3

实际上这三个语句都是可以省略的;

省略语句1:

var i=2,len=cars.length;
for (; i<len; i++)
{
document.write(cars[i] + "<br>");
}
复制代码

省略语句2: 如果省略了语句2,那么循环条件一直都会是true,这个时候必须在循环体中设置break,否则会陷入无限循环。

省略语句3:

// 将递增条件放在循环体中
var i=0,len=cars.length;
for (; i<len; )
{
document.write(cars[i] + "<br>");
i++;
}
复制代码
// 将循环条件放在语句2中
var ary = ['push', 'shift', 'forEach']
for (var i = 0, fn ; fn = ary[i++];) {
  console.log(i, fn)
};
复制代码

转载于:https://juejin.im/post/5c05ee65e51d453ec718bec2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值