填充变量时避免先声明变量
Avoid declare a variable first when filling it
免责声明:这更多的是一个关于设计模式的问题,而不是一个案例研究问题。
我确信我可以用一个例子更好地解释它:
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
}
在我看来,大多数(所有?)开发人员都会毫无问题地理解您问题中的代码片段。
相关文章:
- 使用同一对象中的其他变量声明变量
- 如何将变量声明为全局变量
- 如何将变量声明为全局变量?用case foreach?Javascript
- 理解bootstrap.js变量声明
- 将 Javascript 变量声明为 PHP 形式
- 单个逗号分隔的变量声明和多个声明之间的区别是什么
- Do变量声明初始化函数
- Javascript变量声明:什么是“;var myVariable={}”;
- javascript中不同类型的变量声明
- 为什么在循环的Javascript中包含变量声明
- for 循环中必需的变量声明
- JavaScript 中的变量声明
- 在 Javascript 变量声明中使用逗号
- 你能在变量声明中添加条件吗?
- JavaScript 全局变量声明
- 节点.js变量声明和作用域
- 具有多个逗号分隔值的变量声明是什么意思(例如 var a = b,c,d;)
- 移动图像 ..JavaScript 将变量声明为字符串
- 让 javascript 将(默认情况下)未声明的变量声明到当前本地范围(基于首次使用)而不是全局范围
- 循环中的变量声明