2019-06-26 this指向

this指向(有四种)

第一种:方法调用 指向当前对象 或方法名

var age = 38;
var obj = {
    age: 18,
    getAge: function() {
        console.log(this.age);
    }
};
obj.getAge(); 
--------------------------------------------------
// 变式:
var fn = obj.getAge;
fn();   

第二种:函数调用,里面的this指向的是window

var age = 38;
var obj = {
    age: 18,
    getAge: function() {
        var fn = function() {
            console.log(this.age);
        };
        fn();
    }
};
obj.getAge();

第三种:构造函数调用:this指向调用它的对象

var age = 38;
var obj = {
    age: 18
};

var getAge = function() {
    console.log(this.age);
};
obj.get = getAge;
obj.get(); 

第四种:上下文调用模式,this指向谁?指向的是传入的对象

call 和 apply

你可能感兴趣的:(2019-06-26 this指向)