s: 这里的for循环指的是js的语言哦...
for循环的构成结构;
代码如下 | 复制代码 |
var i;//为什么要在这定义呢? 请看jQuery源码 for(i=0; i<10; i++){ //这里是循环的block } |
这是一个很普通的"女子", 但你真的了解她吗? 下面分下域:
红色: 定义块
绿色: 判断块
蓝色: 计算块
粉色: 执行块
ps: 名是我起的啊, 不是官网的
那么她们的执行顺序是怎么样呢?
for循环的执行顺序
修改代码为:
代码如下 | 复制代码 |
var i;//为什么要在这定义呢? 请看jQuery源码 for(i=0,console.log("红色块: "+ i); console.log("绿色块: "+ i),i<3; console.log("蓝色块: "+ i),i++){ console.log("粉色块: "+ i) //这里是循环的block } |
控制台运行结果为:
然而如果条件不成立则:
如果执行块有break,continue关键字则:
看结果得到以下规则:
执行顺序为:
红色 -> 绿色 -> 粉色 -> 蓝色
定义块 -> 判断块 -> 执行块 -> 计算块
规则为:
红色定义块: 用来定义 变量(指的是循环的标识, 如:i), 只执行一次, 执行完后进到下一步
绿色判断块: 用来判断条件是否成立, 如果成立则进行下一步, 不成立则退出整个循环
粉色执行块: 用来执行代码, 如果有break则不执行下面代码, 且不进行下一步, 如果有continue则不执行下面代码, 进行下一步
蓝色计算块: 用来计算变量, 如++,--
ps: 不要被++i, i++的坑绊倒啊
奇葩的for循环
代码如下 | 复制代码 |
//定义块无内容 var i = 0, len = 10;//data.length for(; i<len; i++){ console.log(i) } //定义,计算块无内容 //居然还这样... *_* //感觉还不如while |
你有没有感觉对for有点新认识?