填充变量时避免先声明变量

Avoid declare a variable first when filling it

本文关键字:变量 声明 填充      更新时间:2023-09-26

免责声明:这更多的是一个关于设计模式的问题,而不是一个案例研究问题。

我确信我可以用一个例子更好地解释它:

var arrayToFill = [];
    for(var key in obj)
        arrayToFill.push(obj[key]);

有没有一种方法可以在不在另一行声明arrayToFill的情况下完成?或者,如果没有,有什么好的模式可以实现更好的代码?

编辑:太大惊小怪了。。。我把products改成了arraToFill,但我认为一个有头脑的人可以理解这个问题。

根据我的经验,您在示例中拥有的是最好的模式。

在以下示例中,如果函数中未声明arrayToFill,则会自动创建一个全局范围的变量

function ScopeExample (){
  for(var key in obj)
    arrayToFill.push(obj[key]);     // arrayToFill not previously declared
}

中的结果

var arrayToFill;                    // automatically created
function ScopeExample (){
  for(var key in obj)
    arrayToFill.push(obj[key]);     // arrayToFill not previously declared
}

在我看来,大多数(所有?)开发人员都会毫无问题地理解您问题中的代码片段。