当我使用最新(1.0)版本的coffee-script时,一个简单的javascript输出看起来像这样(默认):
(function() { var a; a = 1; }).call(this);
什么 .CALL(本) 做,哪些是添加它的原因是什么?
它正在创建一个函数,然后使用父函数/对象范围进行调用。
.call和.apply是调用函数的不同方法。您基本上创建了一个函数,除了在自己的范围内设置a = 1之外,什么也不做。
在javascript中,您需要意识到每个函数都是一个对象,并且this是指当前对象/函数的内容。从函数内部使用.call(this)替代this,并将其替换为调用上下文中的替代。
this
.call(this)