最近闲的刁痛,想看看jQuery源码.但是这个源码看起来 还是挺费劲的.所以呢整理一份框架出来,
避免走入jQuery关键字的误区,我用Gys代替关键字jQuery.
下面是源码:
1 (function(){ 2 function Gys(arr){ 3 return new Gys.fn.init(arr); 4 } 5 Gys.merge=function(first,second){ 6 var i=first.length; 7 var len=second.length; 8 var j=0; 9 for(;j<len;j++){ 10 first[i++]=second[j]; 11 } 12 first.length=i; 13 return first; 14 }; 15 Gys.makeArray=function(arr,result){ 16 var ret=result||[]; 17 Gys.merge(ret,arr); 18 return ret; 19 }; 20 Gys.fn=Gys.prototype; 21 Gys.fn.length=0; 22 Gys.fn.init=function(arr){ 23 return Gys.makeArray(arr,this); 24 }; 25 Gys.fn.say=function(str){ 26 for(var i=0;i<this.length;i++){ 27 console.log("具体对象"+this[i]+"说:>>>>>>"+str); 28 } 29 }; 30 Gys.say=function(p){ 31 console.log("全局对象说"+p); 32 } 33 Gys.fn.init.prototype=Gys.fn; 34 window.Gys=Gys; 35 })(); 36 Gys.say("hello,世界"); 37 Gys(["guoyansi",2,3]).say("I love you");
阅读jQuery源码是学习js的最佳教材.