gpt4 book ai didi

javascript - 为什么要使用 javascript 函数包装器(在 coffeescript 中添加) ".call(this)"

转载 作者:IT王子 更新时间:2023-10-29 03:19:04 24 4
gpt4 key购买 nike

当我使用最新 (1.0) 版本的 coffee-script 时,一个简单的 javascript 输出如下所示(默认情况下):

(function() {
var a;
a = 1;
}).call(this);

.call(this) 的作用是什么?添加它的原因是什么?

最佳答案

这是一种确保编译后的 CoffeeScript 有自己的变量名范围的方法。这在效率和简单性方面都有好处(您知道生成的 JavaScript 不会破坏其他代码使用的变量)。您可以使用 CoffeeScript 编译器的 --bare(或 -b)选项禁用它。

call(this) 的原因只是为了确保 CoffeeScript 具有与放置它的范围相同的 this,因为函数通常不会继承他们的 this 对象来自周围的上下文。

关于javascript - 为什么要使用 javascript 函数包装器(在 coffeescript 中添加) ".call(this)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4542942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com