说明
1、方法调用模式。
this总是指向调用方法的对象,this的方向与方法的调用位置有关,与方法的声明位置无关(箭头函数特殊);
2、函数调用。this指向window,当调用方法没有明确对象时,this指向window,如settimeout、匿名函数等;
3、在构造函数调用模式下,this指向被构造对象。
4、4、apply、call、bind调用模式。
5、箭头函数在声明时绑定。
6、严格模式。
如果this没有被执行环境定义为undefined。
实例
// 声明位置 var test = function(){ console.log(this.x) } var x = "2"; var obj = { x:"1", fn:test, } // 调用位置 obj.fn(); // 1 test(); // 2
以上就是js中this的六种模式,希望对大家有所帮助。更多js学习指路:
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。