this是在函数被调用时发生的绑定,它的指向取决于函数在哪里被调用.
绑定规则:
- 默认绑定 (独立函数调用,指向全局对象)
注意 : 在严格模式下运行,会绑定到undefined,如果在严格模式下调用函数则不会影响 ```javascript /**// foo是直接使用不带任何修饰的函数引用调用的,所以使用默认规则
function foo(){
console.log(this) //window
};
foo();
- 示例
- fn1运行在严格模式下
- fn2调用在严格模式下 */ function fn1() { ‘use strict’; console.log(this);//undefined } fn1();
function fn2() { console.log(this);//window } (function () { ‘use strict’; fn2(); })(); ```
- 隐式绑定
- 显示绑定
- new绑定
todo…