javascript - 如何传递函数作用域(而不是上下文)?

标签 javascript this

你能帮我找出代码中的错误吗?我需要将一个方法的范围传递给另一种方法。

var obj = {
    doIt: function() {
        var a = 10;
        this.doThat.call(this);
    },
    doThat: function() {
        console.log(a);
    }
};

obj.doIt();

最佳答案

如果你想在上下文范围内访问a,你可以试试这个。

var obj = {
    doIt: function() {
        this.a = 10;
        this.doThat.call(this);
    },
    doThat: function() {
        console.log(this.a);
    }
};

obj.doIt();

关于javascript - 如何传递函数作用域(而不是上下文)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56233830/

相关文章:

具有多个 "chart areas"的 Javascript 图表

javascript - 如何在类型方法中使用另一个类方法和 this 上下文?

jquery - 访问 .each() 上的当前项目

c++ - 为什么从 const 成员函数返回的 *this 不能用于调用 C++ 中的其他函数?

javascript - Vimeo 播放器在后台全屏显示

javascript - 仅限 JQuery Slide (this) 元素

javascript - jquery的appendTo函数出现问题

javascript - 在 JavaScript 中映射对象

javascript - 传递 "this"作为参数

javascript - 从内部扩展命名空间模块