jQuery的设计思想

101 阅读1分钟

一、jQuery 如何获取元素

jQuery的基本设计思想和主要用法,就是"选择某个网页元素,然后对其进行某种操作"。 将一个选择表达式,放进构造函数jQuery()(简写为$),返回一个可以操作这个元素的对象。

二、jQuery 创建元素

window.jQuery = function(selectorOrArrayOrTemplate){
  let elements
  if(typeof selectorOrArrayOrTemplate === 'string'){
    if(selectorOrArrayOrTemplate[0] === '<'){
      // 创建 div
      elements=[createElement(selectorOrArrayOrTemplate)]
    }else{
      // 查找 div
      elements = document.querySelectorAll(selectorOrArrayOrTemplate)
    }
  function createElement(string){
    const container = document.createElement("template");
    container.innerHTML = string.trim();
    return container.content.firstChild;
  }
   return {
    addClass(){},
    find(){},
    end(){},
    };

三、jQuery的链式操作是怎样的

jQuery选中网页元素以后,可以对它进行一系列操作,并且所有操作可以连接在一起,以链条的形式写出来, 如$('div').find('h3').eq(2).html('Hello')

它的原理在于每一步的jQuery操作,返回的都是一个jQuery对象,所以不同操作可以连在一起。

jQuery还提供了.end()方法,使得结果集可以后退一步:

    end(){
      return this.oldApi  // this 就是新 api
    }

四、jQuery用到了哪些设计模式

  • 不用new的构造函数
  • 重载
  • 闭包
  • getter/setter 取值和赋值合一
  • $.fn$.prototype的别名
  • 适配器