如何在Javascript中创建对象时引用键?

时间:2014-09-11 11:32:22

标签: javascript object reference key self-reference

我正在尝试用里面的选择器创建一个对象。第一个是我想在对象本身中使用的上下文选择器。如何在对象中引用此键?

  var options = {
            elements: {
                "context": $('form#someForm'), 
                "someDropdown" : $("#someDropDown", this.context),
                "someContainer" : $('div#someContainer', this.context), 
            },
            constants: {
                buttonImageLocation : 'image.jpg'
            }           
        };

由于

1 个答案:

答案 0 :(得分:1)

JavaScript为每个函数创建一个新范围,而不是为每个块创建。因此,在您的情况下this引用窗口,因为窗口没有context,所以它是未定义的。你可以这样做:

var options = {
    element: new (function() {
        this.context = $('form#someForm');
        this.someDropdown = $("#someDropDown", this.context);
        ...
        return this;
    })()
}