【发布时间】:2012-02-22 19:31:53
【问题描述】:
这是没有任何尝试将var nn = 99添加到循环中的代码
//note that the 'i' is a parameter of the function
function myFunction(arr, i) {
for (i = i ? i + 5 : 1; i < arr.length; i++) {
//...
}
}
当我尝试添加新的 var 时,它会做我不想要的事情:
编辑:看来这是错误的
for (var nn = 99, i = i ? i + 5 : 1; i < arr.length; i++)
//created a new 'i'
或
for (i = i ? i + 5 : 1, var nn = 99; i < arr.length; i++)
//doesn't work :(
我知道如果我把它移到外面是完全一样的。但我最讨厌的一件事是在几个月后阅读旧代码时无法理解我的意思。在循环中移动那条线会让我更容易理解那条线。
【问题讨论】:
-
它做了什么你不想要的?
-
@Bergi 它创建了一个新的
var i(我想要的是使用函数i的参数 -
你到底想让这个循环做什么?
-
@MikeyG 循环本身,什么都没有。但我想在循环上设置一个新的
var nn,同时修改函数参数的i(不创建新的var i)和循环头上的所有内容 -
这就是为什么你应该评论棘手的代码。或者,更好的是,完全避免它。
标签: javascript function loops parameters