javascript - 从函数调用带有 'this' 的匿名函数

标签 javascript

如何使用调用提供的函数上下文执行此匿名函数?

function test(text) {
    this.first = 'test';
    console.log(this.first);
}


(function(val){
    return function(val) {
        console.log(this.first);
    }
}()).call(test)

最佳答案

我没有包含 var self = this;在进入返回函数之前:

(function(val){
    var self = this;   //add this line
    return function(val) {
        console.log(self.first);
    }
}()).call(test)

关于javascript - 从函数调用带有 'this' 的匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24976961/

相关文章:

javascript - Google map API OVER_QUERY_LIMIT

javascript - 更改样式属性

javascript - 通过带有 FOR 循环的 jQuery 收集分段数据

javascript - ava.js 中的多个回调

javascript - 如何使 jshint 缩进选项起作用

javascript - object.freeze 仅适用于对象方法。 JavaScript

php - 动态表单创建向下添加行

javascript - 未知 Rally 查询大小的进度条

javascript - 返回 HTML 元素

javascript - 为类型为 'document' 的请求获取元数据时发送自定义 header