请解释这个语法在javascript中的实际效果如何。我知道它以某种方式定义mod
,但我之前从未在javascript中看到(function(){...})(function(){...})
语法。
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
module.exports = mod();
else if (typeof define == "function" && define.amd) // AMD
return define([], mod);
else // Plain browser env
this.Mod = mod();
})(function() { ... } );