阅读园子JavaScript文章有感

现在,我发现JavaScript最有质量的文章是来自博客园。这句话真的不假,因为其他的论坛什么的,已经是没什么人再去讨论了。然后,再说说,今日所阅读的文章,真的像拾宝一样,我很开心。基础的知识,虽然知道了很久,但是你再花心思看多一次,得到的是不同的收获,我终于明白了这一点。

举个例子:

var name = "Global name";
 
function funcA(){
    var name = "FuncA name";
    return function(){
        alert(this.name);
    };
}
 
funcA()(); //Global name

这个例子,过去的经验告诉我,返回一个匿名函数,this指向的是window。是谁告诉我的?我是听别人说的,所以我就理所当然地觉得就是这个样子了。但是当我看了文章后,我知道了原理。原来是这个this是跟作用域没什么关系,其实this就是简单指向调用这个函数的对象。

换句话说,funcA()();也可以写成:

window.funcA()();

所以这里this其实指向window,那么this.name自然就变成:

alert(window.name);

http://www.cnblogs.com/leoo2sk/archive/2010/12/19/ecmascript-scope.html

http://www.cnblogs.com/leoo2sk/archive/2011/01/12/ecmascript-function.html

http://www.cnblogs.com/leoo2sk/archive/2011/01/16/function-declaration-and-expression.html

转载于:https://www.cnblogs.com/coolicer/archive/2013/01/04/2844165.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值