我的问题是关于在不同函数中命名多个迭代计数器的一般良好做法。假设我有 3 个不同的函数,每个函数都有 for
环形。在第一个中,我使用了 for(var i=0; i<5; i++)
所有其他功能也具有相似的for
环形。我是否应该更改 i
反对0
在每个函数末尾的每个循环之后或在每个 for
中声明 3 个不同的变量作为迭代计数器在每个函数中循环?
最佳答案
I have 3 different functions
如果它是三个不同的函数,并且您声明循环 for (
var
i = 0)
,每一个都会有不同的 i。在这种情况下,var
在函数作用域 (see MDN) 内声明变量。所以,i 是一个非常好的名称(大多数情况下,我看到 i、j 和 k 用于嵌套循环( *)) 并且不需要区分。
但是:如果没有 var
,如果您不处于严格模式,i 将具有全局作用域。
作为旁注:截至今天(ES6),我更喜欢使用 for (
let
i = 0。 ..
),如果 i 没有在循环外使用,因为在这种情况下 i 的作用域是循环 ( MDN )。
(*) 即使需要三个嵌套循环,也可能会出现问题。
关于javascript - 命名多个迭代计数器的良好做法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45129022/