Rie*_*u͢s 1 javascript design-patterns
我经常最终做这样的事情:
var IDs = getArrayOfIDs();
IDs.forEach(function(ID){
var object = myObjects[ID];
// do stuff with object
});
Run Code Online (Sandbox Code Playgroud)
据我所知,这会object为ID我的IDs数组中的每个内部创建一个私有变量.精细.
但我也可以这样做:
var IDs = Obj.getArray();
var object;
IDs.forEach(function(ID){
object = myObjects[ID];
// do stuff with object
});
Run Code Online (Sandbox Code Playgroud)
现在我在父函数中使用了一个全局变量.因此,我不需要为每个ID创建一个新变量.
这是一个真正的优势(假设我有一个非常大的阵列)或一般的坏主意?
做有意义的事情,并且没有可能将代码拧到有问题的变量范围.如果object仅在回调中使用,则在回调内创建它并将其范围限制为它.如果您在室外不需要,请不要在室外使用.根据你的逻辑,你将使用所有全局变量,这当然不是一个好主意.
而且:我不需要为每个ID创建一个新变量.
而你实际上并没有创造"一个新的变量".你var object的代码中只有一次; 这是一个变量.可以多次重新创建/覆盖此变量,但它是一个逻辑变量.让Javascript引擎担心性能优化,除非你有一个非常明确的指示,表明某些事情是实际的性能问题.
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |