2013-03-26 72 views
0

我想设置和以后使用对象文字符号访问变量。我需要在随后的代码中使用这个变量,所以我只想在这里设置它一次。如何设置和访问对象文字符号的变量?

当我在jsFiddle上运行此代码时,出现HalfWidth为NaN的错误。如何从这里设置和访问这个变量?

var $LIST = { 
    FullWidth: 120, 
    HalfWidth: this.FullWidth/2, 
    exit: function() {} 
}; 

alert($LIST.FullWidth); 
alert($LIST.HalfWidth); 

http://jsfiddle.net/7JcaQ/

回答

3

this具有零相关性的情况 - 这只是定义了上下文对象的方法调用。此外,您不能在自己的定义中引用$LIST,因为它在定义结束之前不会退出。

写:

var $LIST = { 
    FullWidth: 120, 
    exit: function() {} 
}; 
$LIST.HalfWidth = $LIST.FullWidth/2 

(有关说明,你得到NaN,因为方法调用this之外最经常提到全局对象,这自然,往往不具有任何数值在其.FullWidth财产。除以2产生NaN。)