码迷,mamicode.com
首页 > 编程语言 > 详细

javascript 中的this指向

时间:2017-07-09 23:05:04      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:apply   bind   asc   情况   log   var   click   没有   his   

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

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指向

标签:apply   bind   asc   情况   log   var   click   没有   his   

原文地址:http://www.cnblogs.com/lsios/p/7143303.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!