在javascript的函数里可以使用一个this关键字,在不同情况下,它所指代的东西有所不同。
1.方法调用模式
当一个函数被当做某对象的方法调用时,this代表该对象自己
2.函数调用模式
当一个函数并非一个对象的属性而被调用时,this被绑定到全局对象(即全局变量window),就算这个函数是某个方法的子函数也一样。
3.构造器调用模式
当一个函数被当做对象的构造器调用时,this指向要被创建的那个新对象
4.apply调用模式
在javascript中函数也是对象,每个函数都有一个apply方法,此方法允许我们用指定的this调用函数