jQuery基本実現構想

2112 ワード

転載して来た方応杭github
1 JS基本知識
1.1配列はオブジェクトに属しますか?1.2. 関数はオブジェクトに属しますか?1.3. 配列に属性行を追加しますか?
  var array = []
  array.xxx = 2

2 DOM APIの基本知識
2.1. IDで要素を取得すると
  document.getElementById(id)
  document.querySelector(id)
  document.querySelectorAll(id)

2.2. 要素のプロパティ(name、id、class、style)を変更する方法
  div.name ='xxx'
  div.id = 'yyy'
  div.classList.add
  div.style.border = '1px solid red'

API(結果)/我々のコード
  window.jQuery = ...
  window.$ = window.jQuery

//他人のコード
  window.jQuery === window.$ 

  var $xxx = $('#xxx') //           

  var div = $xxx[0]

  $xxx.on('click', function(){})
  $xxx.addClass('c1')
  $xxx.removeClass('c2')
  $xxx.toggleClass('c3')
  $xxx.text()  // innerText
  $xxx.text('hi') //     xxx          hi
  $xxx.html() // innerHTML
  $xxx.html('bold') //    html     

  $xxx.addClass('c4').text('hi').on('click', function(){})

  $xxx.on('click', function(){})

  $xxx.find('p').end() === $xxx

//私のコード
  window.jQuery = function(selectorOrElements){
    var array = []

    if(typeof selectorOrElements === 'string'){
      var elements = document.querySelectorAll(selectorOrElements)

      for(var i=0; i