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

How to set and access a variable in object literal notation?

本文关键字:设置 访问 变量 表示 对象 文字      更新时间:2023-09-26

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

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

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

http://jsfiddle.net/7JcaQ/

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

写入:

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

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