当前位置: 移动技术网 > IT编程>开发语言>JavaScript > for循环的更多写法

for循环的更多写法

2019年11月25日  | 移动技术网IT编程  | 我要评论
在看设计模式这本书,遇到一个令人疑惑的for循环语句 比较疑惑,因为从平时接触的来看基本上都是 现在的疑惑如下 实际上上面的语句等同于,这是为什么 原来这里等同于把循环终止条件和循环被执行后执行的语句相结合了即把判断和赋值放到一起了,一边循环一边赋值,i--是什么判断条件,当i--为fasle即,循 ...

在看设计模式这本书,遇到一个令人疑惑的for循环语句

for (var i = 0, type;type = ['string', 'array', 'number'][i++]) {
代码块
}

比较疑惑,因为从平时接触的来看基本上都是

for(语句1,语句2,语句3){
}
语句1:起始
语句2:循环终止条件
语句3:在循环后被执行的语句

现在的疑惑如下

for(var i =10,i--;){
}

实际上上面的语句等同于,这是为什么

for(var i =0, i<10 i++;){
}

原来这里等同于把循环终止条件和循环被执行后执行的语句相结合了即把判断和赋值放到一起了,一边循环一边赋值,
i--是什么判断条件,当i--为fasle即,循环终止,在js中0, null, undefined, false, ‘’,
根据boolean的隐形转化,其结果为false,即i=0时条件终止

再回到我们之前的问题

for (var i = 0, type;type = ['string', 'array', 'number'][i++]) {
代码块
}

 

var i =0,type;//语句1
type = ['string', 'array', 'number'][i++] //语句2

即这里的判断+赋值调件为type = ['string', 'array', 'number'][i++],终止条件为type=‘undefined’

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网