我正在尝试创建一个内部带有选择器的对象。第一个是我想在对象本身中使用的上下文选择器。如何在对象中引用此键?
var options = {
elements: {
"context": $('form#someForm'),
"someDropdown" : $("#someDropDown", this.context),
"someContainer" : $('div#someContainer', this.context),
},
constants: {
buttonImageLocation : 'image.jpg'
}
};
谢谢
最佳答案
JavaScript 为每个函数创建一个新的作用域,而不是为每个 block 创建一个新的作用域。因此,在您的情况下,this
指的是窗口,并且由于窗口没有上下文
,因此它是未定义的。你可以这样做:
var options = {
element: new (function() {
this.context = $('form#someForm');
this.someDropdown = $("#someDropDown", this.context);
...
return this;
})()
}
关于javascript - 在 Javascript 中创建对象期间如何引用键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25786328/