javascript - 如何将匿名函数作为参数传递给现有函数以便稍后在 JavaScript 中使用?

标签 javascript jquery anonymous-function

我正在尝试创建一个基本的 JavaScript 框架,您可以将不同的东西传递到其中,包括稍后执行的函数。现在,我处于更简单的测试阶段,但我无法完全让函数调用正常工作。我的一段代码在这里:

[我的JS fiddle ][1] http://jsfiddle.net/mp243wm6/

我的代码有一个保存不同数据的对象,我想稍后调用该方法,但使用创建时可用的数据。以下是使用传递给对象的函数的函数代码片段:

clickMe : function() {
        this.obj.click(function() {
            this.func();
        });
    }

欢迎任何建议或我应该阅读的内容。

最佳答案

问题是有两个不同的上下文:

clickMe : function() {
    // here is one
    this.obj.click(function() {
        // here is another
        this.func();
    });
}

您可以简单地将函数作为参数传递,如下所示:

clickMe : function() {
    this.obj.click($.proxy(this.func, this));
}

http://jsfiddle.net/mp243wm6/2/

关于javascript - 如何将匿名函数作为参数传递给现有函数以便稍后在 JavaScript 中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26395041/

相关文章:

javascript - JS中的^=运算符是什么意思

Javascript 匿名闭包

javascript - Polymer 数据绑定(bind)到属性时的奇怪行为

jquery砌体: nth-child() adds unneeded margin to child nodes

javascript - 如何解决 Cypress 中的悬停问题?

jquery - 如何在执行回调函数之前等待 jQuery 的加载函数渲染加载的内容

javascript - 如何记录立即调用 + 匿名函数?

javascript 函数运行无序

javascript - IIS/.NET的一些类似JAWR的软件(consolidate and minify Javascript)

javascript - 如何在Chrome或Firefox的JavaScript控制台中引用最后打印出来的对象?