else {
freeExports._ = _;
}
}
else {
// in a browser or Rhino
root._ = _;
}
}.call(this));
再来看看Moment.js的封装闭包主要代码:
(function (undefined) {
var moment;
// check for nodeJS
var hasModule = (typeof module !== ‘undefined’ && module.exports);
/************************************
Exposing Moment
************************************/
function makeGlobal(deprecate) {
var warned = false, local_moment = moment;
/*global ender:false */
if (typeof ender !== ‘undefined’) {
return;
}
// here, `this` means `window` in the browser, or `global` on the server
// add `moment` as a global object via a string identifier,
// for Closure Compiler “advanced” mode
if (deprecate) {
this.moment = function () {
if (!warned && console && console.warn) {
warned = true;
console.warn(
“Accessing Moment through the global scope is ” +
“deprecated, and will be removed in an upcoming ” +
“release.”);
}
return local_moment.apply(null, arguments);
};
} else {
this[‘moment’] = moment;









