对于this,我们在使用的时候常常会遇到this.xxx is undefined的情况
这是因为我们对this的使用没有一个准确的判断,并不知道当前的this指的是什么
如何判断this:
1. 判断是否在new 中使用?如果是的话,this绑定的是新创建的对象
2. 函数是否是通过call(),apply()或者硬绑定调用?如果是的话,this绑定的是指定的对象
3. 函数是否在某个上下文对象中调用?如果是的话,this绑定的是那个上下文对象
4. 如果都不是则默认绑定全局对象 严格模式下绑定到undefined
例外情况:
如果把null,undefined作为this的绑定对象传入call(),apply()或者bind(),
这些值在调用的时候会被忽略,实际绑定的是默认全局对象