js中的this指向

this的指向大致有四种:

1.函数调用的时候,this指向window。

functionaa(){
    console.log(this)
}aa() //window

2.当是方法调用的时候,this指向方法所在的对象。

var a={}
a.name = 'hello';
a.getName = function(){
    console.log(this.name)
}
a.getName() //'hello'

3.构造函数模式的时候,this指向新生成的实例。

functionAaa(name){this.name= name; this.getName=function(){
        console.log(this.name)
    }
} var a = new Aaa('kitty');
a.getName() //  'kitty'var b = new Aaa('bobo');
b.getName() //  'bobo'

4,apply/call的时候,this指向`apply/call方法中的第一个参数。

var list1 = {name:'andy'} var list2 = {name:'peter'} functiond(){ console.log(this.name)
}
d.call(list1) //  'andy'  d.call(list2) //  'peter'