;(function(){
function MyModule() {
// ...
}
var moduleName = MyModule;
if (typeof module !== 'undefined' && typeof exports === 'object') {
module.exports = moduleName;
} else if (typeof define === 'function' && (define.amd || define.cmd)) {
define(function() { return moduleName; });
} else {
this.moduleName = moduleName;
}
}).call(function() {
return this || (typeof window !== 'undefined' ? window : global);
});
; (function(){
yourModule = function () {
// ...
alert("1")
}
if (typeof module !== 'undefined' && typeof exports === 'object' && define.cmd) {
module.exports = yourModule;
} else if (typeof define === 'function' && define.amd) {
define(function() { return yourModule; });
} else {
this.yourModule = yourModule;
}
})()
若使用amd或cmd require即可,原生直接调用 yourModule
js中function中的this会指向父级。
这里有一个疑问:
加入
原生对象则为空。