the*_*ero 1 javascript for-loop control-structure
在重新引入Javascript中,语法
for (var i = 0, item; item = a[i++];)
Run Code Online (Sandbox Code Playgroud)
被解释为中间"项目"是对真实/虚假的条件测试.但是,我假设语法是(开始;条件测试;控制因子),每个段之间有分号.在这里,语法对我来说是不熟悉的(开始,条件测试;控制因素;),中间是逗号,最后是分号.它等同于
for (var i = 0; item; item = a[i++])
Run Code Online (Sandbox Code Playgroud)
?
如果是这样,为什么最后用逗号和分号写呢?
在那个表达中,我们有
var i = 0, item- 这声明了两个变量,并分配其中一个变量.item = a[i++]- 执行赋值,并测试赋值的结果nothing- i作为条件的一部分完成的增量,所以这里不需要任何东西A for-loop基本上等同于以下内容:
initialization;
while (condition) {
body;
control factor;
}
Run Code Online (Sandbox Code Playgroud)
所以当我们从你的循环中替换时,我们得到:
var i = 0, item;
while (item = a[i++]) {
// body that you didn't show
}
Run Code Online (Sandbox Code Playgroud)
赋值的值是赋值的值,因此条件是是否a[i]真实.不需要控制因子,因为a[i++]返回值a[i]并且同时递增i.
编写此循环的更典型方法是:
for (var i = 0; a[i]; i++) {
var item = a[i];
// body that you didn't show
}
Run Code Online (Sandbox Code Playgroud)
作者只是展示了如何将这些内容组合在一起.
| 归档时间: |
|
| 查看次数: |
1169 次 |
| 最近记录: |