jQuery原型


JavaScript中的原型对象(以下为示例,有错误。)
JavaScript通过为所有函数绑定一个prototype属性用来指向一个原型对象。此原型对象可以定义类继承、属性和方法
        <Script >
            var jQuery = function(){
                            jQuery.prototype = {//扩展的原型对象
                                
                                }
                        }
        </script>
        更安全的作法是,定义一个属性
        <Script >
            var jQuery.fn = jQuery.prototype = {//扩展的原型对象
                                
                                }
        </script>        
        这里的jQuery.fn相当于jQuery.prototpye的别名。那么
            var $ = jQuery = function(){}
            
        给jQuery添加两个成员
        var $ = jQuery = function (){
                            jQuery.fn = jQuery.prototype = {
                                                    jquery: "1.2.3",    //原型属性
                                                    size:    function(){    //原型方法
                                                                return this.length;
                                                            }
                                        }
                        }
        调用方法:
        正常调用方法为:
            var my$ = new $();//实例化
            alert( my$.jquery );
            alert( my$.size() );
            
        但jQuery却如下:
            $().jquery;
            $().size();
            即,jQuery没有使用new运算符将jQuery类实例化。实际在浏览器使用这段代码会报错。没有实例化,那么
                var $ = jQuery = function(){
                                    return new jQuery();
                                }
            然而,仍然会报错,堆栈溢出。说明有死循环。那么:
            使用一个工厂方法来创建一个实例,并把它放到prototype原型对象中,然后在构造函数中返回这个调用。
                var $ = jQuery = function() {
                                    return jQuery.fn.init();
                                }
                jQuery.fn = jQuery.prototype = {
                                    init: function(){
                                                return this;
                                            },
                                    jquery:"1.2.4",
                                    size: function(){
                                                return this.length;
                                            }
                            }
以上示例还是有错误,它并没有实例化jQuery,那么要如何做?

原文地址:https://www.cnblogs.com/Abner5/p/5987813.html