1. 作为对象的方法调用
obj.fn() // 此时fn中的 this 指向 obj
2. 直接调用
fn() // 此时可以看做是 undefined.fn()
PS:严格模式下this的值为 undefined,非严格模式下的this会被赋值为 window
3. 构造函数中的 this
var obj = new fn() // 此时fn中的 this 指向新建对象 obj
4. call,apply,bind 可为函数指定自定义的 this
fn.call( MyDefineObj ) // 此时fn中的 this 指向 MyDefineObj
网友评论