我正在浏览一些github库,其中我遇到了以下几行:
//Util.js
(function(exports,global){
global["true"] = exports;
"use strict";
...rest of the code here
})({}, function() {
return this;
}());
上述文件直接包含在index.html中。 我知道JS中自执行函数的概念。但是上面提供了什么目的呢?
答案 0 :(得分:0)
该脚本引用全局' 此'持有一个名为“真实”的房产。它包含一个名为' exports'的对象。你可能已经想到了。此脚本似乎是初始化某些功能的脚本。
我猜他们为什么这样做是因为他们期待这个'可能不仅仅是在浏览器中运行(例如,在单元测试时可能用于注入模拟),因此它是一种抽象全局对象的方法。
'出口'和'全球'参数仅作为参数提及,并在脚本中设置属性global [" true"]时。这就是为什么我认为它是一个初始化脚本,而后面的其他相关脚本将使用exports变量。这些相关的脚本也可能正在测试(或其他),因此它们的全局对象可能与此相同。