在面向对象编程中,this指针的指向我经常弄不清楚,看了几篇博客之后,乘有了一点点了解,赶快做笔记记录下来。
this的指向取决于调用的模式,而在js中有4中调用模式:方法调用模式,函数调用模式,构造函数调用模式,apply调用模式
方法调用模式
当一个函数是作为一个对象的属性被调用时,this会指向该属性所属的对象。
var name = 'window';
var people = {
name : 'jeck',
age : function(){
return this.name
}
};
people.age(); //jeck
函数调用模式
当一个函数不是作为一个对象的属性被调用时就是函数调用,这时this就会指向window对象。
var name = 'window';
var people = {
name : 'jeck',
age : function(){
(function(){
var name = 'andy';
console.log(this.name)
})
}
};
people.age(); //window
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。