尝试构造2个API理解jQuery

刚刚学习jQuery,试着构造2个API模仿jQuery中的addClass()和text()功能

window.jQuery = function(nodeOrSelector) {
  let nodes = {}   //声明一个所有可能获得到的对象组成的数组
  if(typeof nodeOrSelectot === 'string'){  //类型检测
    let temp = document.querySelectorAll(nodeOrSelector) //声明临时变量NodeList伪数组
    for (let i = 0;i<temp.length; i++){
        node[i]=temp[i]
    }
    nodes.length = temp.length    //纯净伪数组
  }else if(nodeOrSelector instanceof Node){ //如果传递的是一个Node节点
        nodes = {
            0:nodeOrSelector,
            length:1
        }
  }
  nodes.addClass = function(classes) {
      classes.forEach(value => {
          for (let i = 0;i<nodes.length;i++){    //遍历classes数组,添加value类
              nodes[i].classList.add(value)
          }
      });
  }
  nodes.setText = function(text) {
      for(let i =0;i<nodes.length;i++){
          nodes[i].textContent = text  //遍历classes数组,替换text
      }
  }
  return nodes
}

window.$ = jQuery

var $div = $('div')
$div.addClass('red') // 可将所有 div 的 class 添加一个 red
$div.setText('hi') // 可将所有 div 的 textContent 变为 hi