2013-01-15 93 views
1

目前我检查是否sed对象已经存在,如果没有擦除它,则创建该对象。是否有更好的方法来声明一个对象

if (typeof result === 'undefined') { 
    results = {}; 
} 

这只是我来自使用PHP,你真的没有,你在做JS申报的东西一样多。

虽然我倾向于使用JS对象,因为我在PHP中使用数组,作为临时存储我需要在脚本中进一步访问的信息的一种方式。

+0

你为什么这么做?他们之前是否有任何充足的理由?如果没有,不要这样做。 – Ryan

+0

更好的检查结果或设置结果... – kennebec

+0

@minitech这是一个很好的问题,认为我需要一个旧的项目,我不得不在一个循环内创建一个对象......虽然我不知道为什么了,也许它会有在循环之外工作也是如此。当时受到一些压力,但现在不是,所以这个问题。 – Mint

回答

3

这是行不通的,如果一定值(例如,0null,或false)不应被覆盖,但:

results = results || {}; 

这工作,因为||返回第一个值,如果是真的,则返回第一个值,否则返回第二个值。 undefined以及上面部分列出的其他一些值是虚假的,但对象是真实的。

4

你可以这样做:

var results = window.results || {}; 
2

只需编写代码,您就不必猜测。避免使用全局变量,不要有条件地创建变量,尽早设置默认值。你应该只在特殊情况下需要你的模式,比如使用模块系统为第三方编写库等。

相关问题