前端工具:MyCodepen】| 【W3School】| 【Bootstrap】| 【MarkDown】| 【正则表达式】| 【图标下载】| 【在线工具】| 【W3标准及兼容】| 【前端中文文档

this在JavaScript中的工作范围

this在JavaScript中的工作范围

在一个函数中,this的行为,取决于JavaScript函数的调用方式和定义方式,而不仅仅是看它如何被定义的。

var fullname = 'Fu';
var obj = {
   fullname: 'Yin',
   prop: {
      fullname: 'Gardenia',
      getFullname: function() {
         return this.fullname;
      }
   }
};

运行下面代码:

console.log(obj.prop.getFullname());

Gardenia //输出

运行下面代码:

var test = obj.prop.getFullname;

console.log(test());

Fu //输出

运行下面代码:

console.log(test.call(obj.prop));

Gardenia //输出

运行下面代码:

console.log(test.call(obj));

Yin //输出

运行下面代码:

console.log(test.call());

Fu //输出

运行下面代码:

console.log(test.call(window));

Fu //输出

总结:


Javascript的this遵从就近原则,不然就是window。

posted @ 2014-09-24 09:25  FuGardenia  阅读(145)  评论(0编辑  收藏  举报

关于我们

喜欢编程。
上大学四年,一直在探索。
最终走上前端工程师的不归路。


我的微博:

@WOOEOOBOO

GitHub:

@FuGardenia

关注我们

微信号:MoveClouds
移动互联网,云前端信息传播自媒体。

Simple is beauty,Less is more.

简而美,少即多。