例如:
是
for(var i = 1; i<100; i++){
var inc = 1/i*PI;
//and so forth
}
在任何方面比比
var inc = 1/1*PI;
for(var i = 1; i<100; i++){
inc = 1/i*PI;
}
当然,第一个更容易输入,但是当不断重新声明相同的变量而不是将值重新分配给全局变量时,可能会降低程序的速度/性能(即使有点)。谢谢。
由于var
吊装,两者之间绝对没有区别。由于它没有区别,根据文档
因此,建议始终在其作用域的顶部(全局代码的顶部和函数代码的顶部)声明变量,以便清楚哪些变量是函数作用域(本地)的,哪些变量在作用域链上解析。
现在,如果您使用let
而不是var
,故事会有所不同。我认为根本不会有任何性能差异,但肯定会有语义差异。let
的文档详细介绍了这些差异。
第二种方法是正确的。 只应声明一次变量。
我会像这样编写您的示例:
var i,inc = 1/1*PI;
for(i = 1; i<100; i++){
inc = 1/i*PI;
}
这会将所有变量声明放在一个位置,从而更容易阅读代码。
如果要使用块级作用域,请使用 let 语句,如下所示:
var i;
for(i = 1; i<100; i++){
let inc = 1/i*PI;
}
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let