假设我总共有6个全局变量,我要在一个函数中调用它们。
如果我每次调用它们3次,在函数中创建一个局部变量是不是已经更好了,它会更快地运行函数吗?
我现在使用每一个20次,所以我猜它肯定更好?我在google chrome中查看了网络时间,但我猜它的测试太小了,因为我总是得到6-7ms的时间。
我把表的长度放在一个变量中,我被告知将运行'for‘而不是每次都获得长度,最好将其存储在函数的本地变量中。然后我还有6个其他变量,赋值给函数中的局部变量,这是最佳实践吗?如果是这样,你会说什么时候在函数中声明一个局部变量更好,如果我至少调用该变量多少次?
发布于 2013-06-03 02:13:38
如果我每次调用它们3次,在函数中创建一个局部变量是不是已经更好了,它会更快地运行函数吗?
没有达到任何可察觉的程度。你应该避免使用全局变量的原因是,它们可能会与你正在运行的任何第三方实用程序冲突,可能会与你的浏览器正在运行的任何插件冲突,而且坦率地说,这会使代码更难阅读。
如果你的函数需要6个变量,那么在函数内部创建这些变量。
如果你有3个函数都共享相同的6个变量,那么你就有一个非常想要创建的对象--重构你的代码来反映这一点。()
所以就像这样:
var a = 1,
b = 2,
c = 3;
function f1(){
//use a, b, and c
}
function f2(){
//use a, b, and c
}会变成这样:
var obj = {
a: 1,
b: 2,
c: 3,
f1: function(){
alert(this.a);
},
f2: function(){
//use this.a, this.b, and this.c
}
};当然,如果您希望a、b和c对对象是私有的,那么您可以使用闭包进行创造性的操作:
var obj = (function(){
var a = 1,
b = 2,
c = 3;
return {
f1: function(){
alert(a);
},
f2: function(){
//use a, b, and c
}
};
})();https://stackoverflow.com/questions/16885760
复制相似问题