0

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

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

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

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

http://jsfiddle.net/7JcaQ/

4

1 回答 1

3

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

写:

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

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

于 2013-03-26T15:52:47.503 回答