zoukankan      html  css  js  c++  java
  • jQuery的无new构建

    正常面向对象的写法:

      var cJquery = function(){

        //构造函数体

      };

      cJquery.prototype = {

        name : function(alert("chenliang");)

        age : function(alert(27);)

      }

      var c = new cJquery();

      c.name();

    使用jQuery时,并不会使用new来创建jQuery对象,而是类似一个工厂,不断的根据不同的需求产出不同的jQuery对象。

    例如:

      var cJquery = function(){

        new cJquery();

      }

      因为new的其中一步就是执行构造函数体,所以,这种写法会造成无限循环

    因此,jQuery采用了返回一个假jQuery对象来代替jQuery对象的方法(个人理解,不知道对不对)

      var jQuery = function(){

        return new jQuery.prototype.init();

      }

      jQuery.prototype = {

        init : function(){

          return this;

        },

        name : function(){alert("chenliang");}

      }

      但这种做法的后果是,jQuery返回的假jQuery对象(init对象),无法访问jQuery的原型对象上的方法。

      因此jQuery做了最后一步处理:

      jQuery.protype.init.protype = jQuery.protype;

  • 相关阅读:
    可复用的自定义Adapter
    SharedPreference工具类
    MD5工具类
    面试题
    策略模式
    java画图之初体验
    接口与事件之图形界面的认证登录
    “奥特曼“与”小怪兽”的继承者们之战
    “奥特曼攻打小怪兽”java学习打怪升级第一步
    使用智能指针管理对象资源
  • 原文地址:https://www.cnblogs.com/charling/p/3395608.html
Copyright © 2011-2022 走看看