我想为我的插件定义默认值,这是javascript代码:
var opts = {
'width': 957,
'height': 590,
'left': ($(window).width() / 2) - (this.width),
'top': ($(window).height() / 2) - (this.height)
};
但opts.left
返回NaN
。
什么是问题?
编辑:我希望在我的对象中使用 width 。
答案 0 :(得分:0)
this.width
不是数值。
NaN值的来源
当算术运算导致未定义或不可表示的值时,会生成NaN值。这些值不一定代表溢出条件。 NaN也是由于尝试强制转换为非数值的数值而没有原始数值可用。
根据评论进行更新:
this
不是对象,它是函数的调用者。因此this.width
不会向您提供该属性的width
。
答案 1 :(得分:0)
最有可能的是,this.width
正在为您返回 非数字值。 undefined
例如: 100 - undefined
会返回NaN
尝试使用$(this).width()
和$(this).height()
,
var opts= {
'width': 957,
'height': 590,
'left': ($(window).width()/2)-($(this).width()),
'top': ($(window).height()/2)-($(this).height())
};
以上应该在有效的上下文中提供this
。