Jquery的框架解析

最近闲的刁痛,想看看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的最佳教材.

原文地址:https://www.cnblogs.com/guoyansi19900907/p/6971071.html