gpt4 book ai didi

javascript - 了解 underscore.js 代码的结构

转载 作者:数据小太阳 更新时间:2023-10-29 05:29:57 24 4
gpt4 key购买 nike

我在 underscore source code 中看到了这种模式和许多其他开源 JavaScript 项目:

(function() {
// the library code
}).call(this);

谁能解释一下这个模式的作用?使用它有什么好处?

为什么不只是:

(function() {
// the library code
}());

最佳答案

由于两者在正常情况下是等价的,所以我查看了源代码并将其从您建议的形式更改为 2 年前的当前形式,并带有以下 checkin 评论:

“添加了全局上下文的显式定义以与 Adob​​e JS 兼容”

https://github.com/jashkenas/underscore/commit/aa916b8cfe565dc206d85c4cb74fbb6c499067a7

带有此更改的第一个版本的 Underscore 的 checkin 日志声称“改进了 Underscore 与 Adob​​e 的 JS 引擎的兼容性,可用于为 Illustrator、Photoshop 和 friend 编写脚本。”

http://underscorejs.org/版本 1.4.3

所以这个改变似乎是因为 Adob​​e 的 JavaScript 引擎当时不符合 ES3 或 ES5,但随着这个改变,Underscore 与它们的变体兼容。

如果您不打算在 Adob​​e JS 中运行您的模块,那么您可以使用任何一种形式。如果是,那么 Adob​​e JS 似乎需要 Underscore 使用的形式。

关于javascript - 了解 underscore.js 代码的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21387014/

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