我想为我的插件定义默认值,这是 javascript 代码:
var opts = {
'width': 957,
'height': 590,
'left': ($(window).width() / 2) - (this.width),
'top': ($(window).height() / 2) - (this.height)
};
但opts.left
返回NaN
。什么是问题?
编辑:我想在我的对象中使用我的对象的宽度。
this.width
不是数值。
NaN 值的来源
当算术运算导致未定义或不可表示的值时,将生成 NaN 值。这些值不一定代表溢出条件。NaN 还源于对没有原始数值可用的非数值的数值的尝试强制转换。
根据评论更新:
this
不是对象,它是函数的调用者。所以this.width
不会给你width
财产的。
最有可能的this.width
是返回一个非数字值。undefined
例如: 100 - undefined
将返回您NaN
尝试使用$(this).width()
and $(this).height()
,
var opts= {
'width': 957,
'height': 590,
'left': ($(window).width()/2)-($(this).width()),
'top': ($(window).height()/2)-($(this).height())
};
以上内容应this
在有效上下文中提供。