【发布时间】:2013-12-30 18:58:44
【问题描述】:
我在一个长脚本中添加了一些新功能,其中许多变量被缩小(只有一个字母)。
添加 for 循环时,我必须检查很多用于迭代的传统 i 变量是否可用。即在此脚本范围内之前未采用/定义。
我的第一个想法是这样定义它:
(function () {
for (var i = 0; i < 20; ++i) {
console.log(i); // logs 1 to 19
}
})()
console.log('After is: ' + typeof i); // After is: undefined
有没有更好的方法来做到这一点?在这种情况下,人们还可以考虑哪些其他方式?
【问题讨论】:
-
你为什么要编辑缩小版?您应该编辑非缩小版本。您的真实代码应该使用有意义的变量名。
-
您的函数需要多长时间才能在中间引入 IIFE 以限定
i变量的范围?为什么不把它分解成单独的命名函数呢? -
@RocketHazmat,我同意你的看法。脚本就是这样,我(不幸的是)必须照原样使用它。但我确实在我添加的部分中添加了正确/清晰的变量,并在需要时进行评论。
标签: javascript for-loop scope