在面向对象编程中,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

93回忆录
103 声望1 粉丝

« 上一篇
arguments.callee
下一篇 »
html5之canvas