jQuery原始碼的簡單實現方式
阿新 • • 發佈:2018-12-16
(function(global){ var jQuery = function(selector){ return new jQuery.prototype.init(selector); } jQuery.fn = jQuery.prototype = { init : function(selector){ if(typeof selector == 'function'){ //addEvent(window,'load',function(){}) } if ( selector.nodeType ) { this.context = this[0] = selector; this.length = 1; return this; } } } jQuery.fn.init.prototype = jQuery.prototype; jQuery.extend = jQuery.fn.extend = function(){ console.log(this); var target = arguments[0] || {}; for(name in target){ this[name] = target[name]; } return this; } //實現的jquery的靜態方法 jQuery.extend({ aa:function(){ console.log('aa'); console.log('cc'); }, bb:function(){ console.log('bb'); } }) //實現jquery的例項物件的方法 jQuery.fn.extend({ cc:function(){console.log('cc');return this}, dd:function(){console.log('dd');return this}, }) global.$ = global.jQuery = jQuery; })(window) $('.aa').cc(); //output cc //例項物件上面的方法 $.aa(); //output aa //jquery函式的靜態方法