0
点赞
收藏
分享

微信扫一扫

jquery源码得故事

勇敢乌龟 2021-09-24 阅读 44
随笔

jquery采用得是工厂模式 ,单例模式
jquery代码简化如下:

(function(){
  var jQuery=function(selector){
      return new jQuery.fn.init(selector); //new 一下init,init才是真正得构造函数
  }
  jQuery.fn=jQuery.prototype;//jQuery.fn就是jQuery.prototype得简写
  jQuery.fn.init=function(selector){
    //这里面是实现真正得构造函数
  }
//让init和jQuery得原型指向同一个对象,便于挂载实例方法
  jQuery.fn.init.prototype=jQuery.fn
  window.$=window.jQuery=jQuery
})()

从中可以看出,你调用得时候省略了new ,在jQuery里面已经帮你调用了,目的是为了使大量调用更方便,这种结构需要借助init方法,最后还要将jQuery和init原型绑在一起,
其它实现方法

var jQuery=function(selector){
  if(!this instanceof jQuery){
      return new jQuery(selector)
  }
//下面进行真正得构造函数得执行
}

此方法单例模式

举报

相关推荐

0 条评论