请教老师一下for循环
来源:4-9 解决getElementsByClassName()兼容性
hy_wang
2018-09-13 14:42:11
请问一下老师这里的for循环
for(var i=0;node = nodes[i++];) 没有看懂 这里的赋值语句node = nodes[i++]怎么理解?为什么赋值语句会变成false和true? 以及循环条件i++是怎么看出来的
1回答
好帮手慕星星
2018-09-13
for循环里面有三个语句,通常使用语句 1 初始化循环中所用的变量 (var i=0);使用语句 2 评估初始变量的条件;通常使用语句 3 会改变初始变量的值。但是这三个语句都不是必须的,如果语句 2 返回 true,则循环再次开始,如果返回 false,则循环将结束。这个for循环中:
for(var i=0;node = nodes[i++];)
nodes是传入的带有指定class名字标签的一个集合,将这个集合中的每一个值赋值给node,直到i为nodes集合中的最后一个标签元素的索引,超出最后一个内容之后就没有值了,就是undefined,赋值给node转化为布尔值就是返回false,所以会停止循环。
自己找一个数组的小例子测试下,祝学习愉快~~
相似问题