我注意到很多库使用下面的这种样式来定义他们的库。我还注意到第一个自调用函数与 Require.js 或 AMD 系统有关,它们总是将工厂作为参数,我将更多地研究 Require.js,一直到 Browserify。
为什么将主要代码传递到括号内的第一个自调用函数的末尾,这是一个闭包,还是只是一个匿名函数,我将深入研究两者。这样做有什么好处?看起来作者在闭包内部传递了 a string
、this
和 a callback
。
这会给我的库提供一种干净安全的方式来全球化下面这个示例中的主要对象Please
吗?
(function( globalName, root, factory ) {
if ( typeof define === 'function' && define.amd ) {
define( [], factory );
}
else if ( typeof exports === 'object' ) {
module.exports = factory();
}
else{
root[globalName] = factory();
}
}('Please', this, function(){
我正在尝试深入挖掘 JavaScript 并创建自己的小型 MVC 架构,我不想听到我很傻或以前做过,我想挑战自己并学习。
如果有任何用于创建 JavaScript 库甚至更好的 MVC 库的资源,我很想知道。