首页 新闻 会员 周边 捐助

js中的this

0
悬赏园豆:5 [已解决问题] 解决于 2015-12-28 08:59

js中的this引用的是函数据以执行的环境对象,而js教程中所说的环境对象分为全局环境和函数所定义的局部环境,那么以下代码中

var color = 'red';

function showColor() {

    console.log(this.color);

}

showColor();  // 'red',因为this指向window

var o = {

    color: 'blue'

};

o.showColor = showColor;

o.showColor(); // 'blue' ????这里的this指向的是o?o也可以构成一个执行环境?

小卫卫九块九的主页 小卫卫九块九 | 初学一级 | 园豆:199
提问于:2015-12-27 16:34
< >
分享
最佳答案
1

换一种思路自然迎刃而解。

var color = 'red';
function showColor() {
    console.log(this.color);
}
var o = {
    color: 'blue'
};
o.showColor = showColor;
o.showColor();
/*o.showColor = showColor以及o.showColor()等同于如下*/ var o = { color: 'blue', showColor:function(){ showColor(); } };

你再想想此时this指向的应该是谁。。。。。自行理解

收获园豆:5
Jeffcky | 老鸟四级 |园豆:2789 | 2015-12-27 21:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册