可能重复:
对象内部的“this”
我正在尝试为我正在处理的 jQuery 插件的几个默认选项创建一个对象文字:
var defaults = {
r: 5,
top: this.r,
bottom: this.r,
topleft: this.top,
topright: this.top,
bottomleft: this.bottom,
bottomright: this.bottom
};
当我引用defaults.top
它时undefined
我能做些什么来完成这项工作?或者也许是不同的方法?我需要它是一个对象文字。
添加:
它是(default
对象),如您所见,它的级联方式旨在成为一种短手技术。例如,如果您想将所有角定义为相同,则可以使用{r: 5}
,但如果您希望顶部和底部{top: 5, bottom: 1}
再次不同,{topleft: 5, topright:2, bottomleft: 3, bottomright:19 }
我为没有说明清楚而单独道歉,但非常感谢您的回答。
回答:这就是我最终做的
if(o.topleft == undefined || o.topright == undefined || o.bottomleft == undefined || o.bottomright == undefined){
if(o.top == undefined || o.bottom == undefined){
if(o.r == undefined){
o.topleft = 5;
o.topright = 5;
o.bottomleft = 5;
o.bottomright = 5;
}else{
o.topleft = o.r;
o.topright = o.r;
o.bottomleft = o.r;
o.bottomright = o.r;
}
}
else{
o.topleft = o.top;
o.topright = o.top;
o.bottomleft = o.bottom;
o.bottomright = o.bottom;
}
}
晚餐马虎,但嘿,它奏效了!谢谢你的帮助!我选择了答案,因为这种解释导致我这样做!