在如下所示的简单 UMD 设置中,在哪里/如何定义root
和factory
定义?
(function (root, factory) {
// environment detection here
console.log(root);
console.log(factory);
}(this, function (b) {
// module definition here
}));
我参加 UMD 聚会迟到了,所以如果这是一个愚蠢的问题,请原谅我......但是如果我运行上面的代码,我看到root
返回窗口对象,并factory
返回一个函数。那么第一个参数(在这种情况下是根)总是定义为窗口对象吗?第二个呢?他们是否实现了相同的跨浏览器?我正在高低搜索规范或参考来支持它,但找不到...有很多关于 UMD 奇迹的博客文章,但我找不到任何关于它如何神奇地工作的解释.
有人对它的工作原理或原因有一个简单的解释吗?