我如何在函数中调用变量?

这个问题在这里已经有了答案:

  • 嵌套函数中的Javascript“this”指针7个答案

  • 通过分配尝试this变量:

    var XClass = function () {
        var that = this;
        this.dataMember = "hello world";
    
        $("div").on("click", "button", function() {
            console.log(that.dataMember); 
        });  
    }
    

    这样, that将引用当前的XClass对象。 否则,在事件处理程序回调中, this指的是被点击的对象。


    分配this变量:

    var XClass = function () {
        var self = this;
        this.dataMember = "hello world";
    
        $("div").on("click", "button", function() {
            console.log(self.dataMember);   // no error 
        });  
    }
    

    使用bind来设置上下文

    var XClass = function () {
        this.dataMember = "hello world";
    
        $("div").on("click", "button", function() {
            console.log(this.dataMember);   //error 
        }.bind(this));  
    }
    
    链接地址: http://www.djcxy.com/p/94899.html

    上一篇: How do I call variable in function?

    下一篇: what's wrong with my javascript scope