【发布时间】:2011-05-31 09:16:52
【问题描述】:
当我使用最新 (1.0) 版本的咖啡脚本时,一个简单的 javascript 输出看起来像这样(默认情况下):
(function() {
var a;
a = 1;
}).call(this);
.call(this) 有什么作用以及添加它的原因是什么?
【问题讨论】:
-
你能告诉我们产生这个js的代码吗?
-
我的猜测是,这是让所有变量默认具有局部函数(而非全局)作用域并通过 'this' 访问父作用域的最简单方法
-
这是一篇关于 JS 命名空间主题的优秀文章:javascriptweblog.wordpress.com/2010/12/07/…
-
@Gabi Purcaru:这将由 CoffeeScript
a = 1生成。 -
如果您想知道为什么使用
.call(this)而不是普通的IIFE 调用,请参阅my answer 上的“为什么在javascript 匿名函数的末尾写“.call(this)”?”