如何设置和访问对象文字表示法中的变量?

时间:2013-03-26 15:48:59

标签: javascript

我正在尝试设置并稍后使用对象文字表示法访问变量。我需要在后续代码中使用这个变量,所以我想在这里设置一次。

当我在jsFiddle运行此代码时,我得到HalfWidth为NaN的错误。如何从此处设置和访问此变量?

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

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

http://jsfiddle.net/7JcaQ/

1 个答案:

答案 0 :(得分:3)

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

写:

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

(对于注释,你得到NaN,因为在方法调用this之外通常是指全局对象,当然,它通常在其中没有任何数值。 .FullWidth属性。将其除以2会产生NaN。)