javascript - 在 Javascript 中创建对象期间如何引用键?

标签 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'
            }           
        };

谢谢

最佳答案

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/

相关文章:

javascript - 使用 iFrame 关闭外部点击页面上的菜单

javascript - 如何以 Angular 方式打印 GET 请求中的信息

javascript - 当使用 Vuejs 更改对象中的任何数据时,如何运行函数?

delphi - 如何在运行时在 FireMonkey 中使用鼠标选择 3D 对象

javascript - 如何使用Highcharts来实现这种从右向左动态移动的效果呢?

javascript - 单击按钮和鼠标离开后,Bootstrap 的工具提示不会消失

javascript - 如何根据对属性的引用确定父对象

python - Django 中的模型管理器 - 没有引用模型类?

swift - 变量引用的实例到底在哪里?

php - 通过更改从函数返回的引用来更改全局数组值