javascript 中的this指向

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 中的this指向相关的知识,希望对你有一定的参考价值。

---恢复内容开始---

this 指向

1、this指向调用函数时绑定的对象。当没有绑定对象时,则指向windows

 

2、浏览器中,全局环境的this指向windows对象。

 

3、可以通过call/apply修改this的指向,es5可以通过bind修改this的指向

function Person(){

this.name = ‘person‘;

this.msg = function(msg){

msg = msg || this.name;

alert(msg);

}

}

function Cat(){

this.name = ‘cat‘;

}

var p = new Person();

var c = new Cat(); 

p.msg.call(c,‘11‘,22);//cat

 

4、箭头函数的this,定义在哪里,则指向哪里 

function Person(){

this.name = ‘person‘;

this.msg = function(msg){

msg = msg || this.name;

alert(msg);

}

this.init = function(){

document.onclick = ()=>{

console.log(this); 

//正常情况下此时的this应该指向document,然而此时却指向了Person对象

}

}

}

p.init();

---恢复内容结束---

以上是关于javascript 中的this指向的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript——总结this指向(更)

Javascript中的this指向。

JavaScript中的this

Javascript 中的this指向

彻底搞懂 JavaScript 中的 this 指向

JavaScript中的this的指向