我正在尝试使用对象文字表示法设置并稍后访问变量。我需要在后续代码中使用此变量,因此我只想在这里设置一次。
当我在 jsFiddle 上运行此代码时,出现 HalfWidth 为 NaN 的错误。如何从这里设置和访问该变量?
var $LIST = {
FullWidth: 120,
HalfWidth: this.FullWidth / 2,
exit: function () {}
};
alert($LIST.FullWidth);
alert($LIST.HalfWidth);
最佳答案
this
与您的情况零相关 - 它仅定义方法调用的上下文对象。此外,您不能在其自己的定义中引用 $LIST
,因为它在定义结束之前不会退出。
写:
var $LIST = {
FullWidth: 120,
exit: function () {}
};
$LIST.HalfWidth = $LIST.FullWidth / 2
(注意,您得到的是 NaN
,因为在方法调用之外 this
通常引用全局对象,而这自然通常不会引用全局对象其 .FullWidth
属性中包含任何数值。将其除以 2 会产生 NaN
。)
关于javascript - 如何以对象文字表示法设置和访问变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15641421/