小编给大家分享一下js中this有哪些模式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
说明
1、在方法调用模式下,this总是指向调用方法的对象,this的方向与方法的调用位置有关,与方法的声明位置无关(箭头函数特殊);
2、在函数调用下,this指向window,当调用方法没有明确对象时,this指向window,如settimeout、匿名函数等;
3、在构造函数调用模式下,this指向被构造对象;
4、this在apply、call、bind调用模式下指向第一个参数;
5、箭头函数在声明时绑定this,而不是调用位置;
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有哪些模式”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注天达云行业资讯频道!