[英]Best usage of var at loops
我经常最终会做这样的事情:
var IDs = getArrayOfIDs();
IDs.forEach(function(ID){
var object = myObjects[ID];
// do stuff with object
});
据我了解,这会为我的IDs
数组中的每个ID
创建一个称为object
的私有变量。 精细。
但是我也可以这样:
var IDs = Obj.getArray();
var object;
IDs.forEach(function(ID){
object = myObjects[ID];
// do stuff with object
});
现在,我在父函数中使用了全局变量。 这样, 我不需要为每个ID创建一个新变量。
这是一个实际的优势(比如说我有很多优势)还是一个坏主意?
做最有意义的事情,并且不可能将代码与问题变量范围搞混。 如果object
仅在回调内部使用,则在回调内部创建object
并将其范围限制为它。 如果您在外面不需要它,请不要在外面使用它。 按照您的逻辑,您将使用所有全局变量,但这当然不是一个好主意。
这样:我不需要为每个ID创建一个新变量。
而且您实际上并没有创建“新变量”。 您的代码中只有一次var object
; 那是一个变量 。 可以多次重新创建/覆盖此变量,但这是一个逻辑变量。 让Javascript引擎担心性能优化, 除非您有非常清楚的指示,表明某些问题是实际的性能问题。
您正在优化什么?
缺点是:
另外,根据对象条目包含的内容,您可能只是创建对变量的引用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.