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指向的主要内容,如果未能解决你的问题,请参考以下文章