JavaScript 中的 this

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

5. DOM事件处理函数与内联事件处理函数中的 this 指向相应的DOM节点



原文链接

推荐阅读更多精彩内容