this指向(有四種)
第一種:方法調(diào)用 指向當(dāng)前對象 或方法名
var age = 38;
var obj = {
age: 18,
getAge: function() {
console.log(this.age);
}
};
obj.getAge();
--------------------------------------------------
// 變式:
var fn = obj.getAge;
fn();
第二種:函數(shù)調(diào)用,里面的this指向的是window
var age = 38;
var obj = {
age: 18,
getAge: function() {
var fn = function() {
console.log(this.age);
};
fn();
}
};
obj.getAge();
第三種:構(gòu)造函數(shù)調(diào)用:this指向調(diào)用它的對象
var age = 38;
var obj = {
age: 18
};
var getAge = function() {
console.log(this.age);
};
obj.get = getAge;
obj.get();
第四種:上下文調(diào)用模式,this指向誰梧宫?指向的是傳入的對象
call 和 apply