javascript - 使用两个不同的上下文调用 Javascript 函数

标签 javascript jquery

假设我在命名空间中有一个函数,如下所示:

app.MyNamespace = {
    defaults: {
        myOption: 1
    },
    myFunction(param1, param2, options){
         options = $.extend(options, this.defaults);
    }
}

然后如果我在其他上下文(例如window)中调用它

app.MyNamespace.myFunction.call(this);

显然,选项不会随默认值扩展,因为它失去了正确的上下文。

如何在函数中保留默认值,但在另一个上下文中调用它?

Fiddle

最佳答案

只需将其指向默认值即可

app.MyNamespace = {
    defaults: {
        myOption: 1
    },
    myFunction(param1, param2, options){
         options = $.extend(options, app.MyNamespace.defaults);
    }
}

关于javascript - 使用两个不同的上下文调用 Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27383383/

相关文章:

javascript - 从 href 调用 angularjs 作用域函数

javascript - 有没有办法找到适用于网页的所有全局样式?

javascript - Facebook Messenger,发送回执时暂时发送消息失败

javascript - React setState 更新不正确的子组件

javascript - 生成选择列表项问题

javascript - 如何将这个单一案例(根据下拉列表的选择显示文本字段)抽象为 jQuery 中的通用函数?

jquery - 使用 Jquery 测试字符串是否为 Integer

javascript - 如何从文本区域获取值

javascript - fastclick.js 实现了吗?

javascript - 带有 postcss-loader 的 Webpack 无法识别 precss