(function (global, factory) {
/*
*
* CommonJS 规范
* 用于执行传递进来的factory函数
*
*/
if (typeof module !== 'undefined' && typeof module.exports === 'object') {
/*
*
* 当前是 nodejs 环境
*
*/
// ....
} else {
/*
*
* 当前是浏览器环境
* 浏览器环境直接执行factory函数
*
*/
factory(global);
}
})(typeof window !== 'undefined' ? window : this, function (window, noGlobal) {
/*
*
* 返回一个jQuery出去
* 使其能够链式操作
*
*/
jQuery = function (selector, context) {
return new jQuery.fn.init(selector, context);
};
/*
*
* jQuery共有原型空间
*
*/
jQuery.fn = jQuery.prototype = {
jquery: '1.0.0',
constructor: jQuery,
/*
*
* 将init返回出的对象改成数组
*
*/
splice: [].splice
};
init = jQuery.fn.init = function (selector) {
var list = document.querySelectorAll(selector);
[].push.apply(this, list);
};
/*
*
* init与jQuery共享同一个原型(空间)
*
*/
init.prototype = jQuery.fn;
/*
*
* noGlobal不存在时
* 表示当前环境是浏览器
* 给window挂上$
*
*/
if (!noGlobal) {
window.$ = window.jQuery = jQuery;
}
return jQuery;
});
脚本?