首页 > 代码库 > javascript 中的this指向
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指向
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。