1、全局环境下,无论是否严格模式,this始终指向全局对象(windows)
2、普通函数的this,分两种情况,即严格模式和非严格模式
非严格模式下this指向全局对象(windows)
严格模式下 this指向undefined
3、对象中的this
对象内部方法的this指向调用这些方法的对象
4、原型链中的this
原型链中的this指向调用它的对象
5、构造函数中的this
构造函数中的this与被创建的新对象绑定。
6、call & apply
当函数通过Function对象的原型中继承的方法 call() 和 apply() 方法调用时, 其函数内部的this值可绑定到 call() & apply() 方法指定的第一个对象上, 如果第一个参数不是对象,JavaScript内部会尝试将其转换成对象然后指向它。