我正在尝试设置并稍后使用对象文字表示法访问变量。我需要在后续代码中使用这个变量,所以我想在这里设置一次。
当我在jsFiddle运行此代码时,我得到HalfWidth为NaN的错误。如何从此处设置和访问此变量?
var $LIST = {
FullWidth: 120,
HalfWidth: this.FullWidth / 2,
exit: function () {}
};
alert($LIST.FullWidth);
alert($LIST.HalfWidth);
答案 0 :(得分:3)
this
与您的情况无关 - 它只定义方法调用的上下文对象。此外,您不能在自己的定义中引用$LIST
,因为它在定义结束之前不会退出。
写:
var $LIST = {
FullWidth: 120,
exit: function () {}
};
$LIST.HalfWidth = $LIST.FullWidth / 2
(对于注释,你得到NaN
,因为在方法调用this
之外通常是指全局对象,当然,它通常在其中没有任何数值。 .FullWidth
属性。将其除以2会产生NaN
。)