初步了解this

在面向对象编程中,this指针的指向我经常弄不清楚,看了几篇博客之后,乘有了一点点了解,赶快做笔记记录下来。 this的指向取决于调用的模式,而在js中有4中调用模式:方法调用模式,函数调用模式,构造函数调用模式,apply调用模式 方法调用模式 当一个函数是作为一个对象的属性被调用时,this会指向该属性所属的对象。 var name = 'window'; var pe

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

关键字:JavaScript, 调用, 函数, var