欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

简单的JQUERY实现代码分析

程序员文章站 2022-05-18 17:32:46
jquery版本: jquery-1.0.js html:

1

2

jquery版本: jquery-1.0.js

html:

<body>  
    <p>1</p>  
    <p>2</p>  
</body>  

html:

console.log("p",$("p"))  

结果:

jquery {0: p, 1: p, length: 2}  

实现代码如下:

  function jquery(a, b) {  
            function jquery(a, b) {  
                [].push.apply(this, [a, b]);    
             //核心代码让数组对象的this指向jquery函数,function实际上也是一个object对象,  
                // 如果function对象上找不到和数组对象同名函数,就会在object对象上找  
                //这里产生的{}对象的length只和传入的[1,2]的length有关,这个也是jquery的巧妙之处  
            }  
            jquery.prototype = {  
                a: function () {  
                    alert("a");  
                    return this;  
                },  
                b: function () {  
                    alert("b");  
                    return this;  
                }  
            };  
            return new jquery(a, b);  
        }  
        console.log(jquery(1, 2).a().b());   //结果:jquery {0: 1, 1: 2, length: 2}