28實現(xiàn)過程

http://js.jirengu.com/seziduhore/1/edit?js
一、封裝函數(shù)

image.png

注意:對于===和!==這種二個等號的,只有NAN!==NAN,一個等號的過于復雜所以不用
image.png

命名空間的設計模式

為什么要取名字呢?
為了顯示是我寫的庫,比如jequry寫的,xx寫的

二、改進


從前二行到下面這二行

篡改公有屬性,但是這樣會污染公有屬性

改進

而jquery更加厲害,如果傳進去的不是node而是選擇器之類的,多一步類型檢測

window.jQuery = function(nodeOrSelector) {
  let nodes={};
  //待補充的部分一:獲得函數(shù)即將操作的對象
  
  nodes.addClass = function(classes) {//部分二:實現(xiàn)這個內(nèi)部函數(shù)功能}
  nodes.setText = function(text) {//部分三:實現(xiàn)這個內(nèi)部函數(shù)功能}
  
  return nodes
}
  if(typeof nodeOrSelector==='string'){
    nodes=document.querySelectorAll(nodeOrSelector);
  }else if(nodeOrSelector instanceof Node){
    nodes={0:nodeOrSelector,length:1}
  }
   for(let i=0;i<nodes.length;i++){
      classes.forEach((value)=>nodes[i].classList.add(value))}
  for(let i=0;i<nodes.length;i++){
      nodes[i].textContent=text;}

這三個部分填入框架一中


抓住本質(zhì)

三、具體調(diào)用
先給jQuery個縮寫

window.$ = jQuery;

然后輸入找到我們要操作的對象所需的參數(shù)'div',來找到所有的div
再把這個函數(shù)賦值給變量,方便后面的調(diào)用,注意在變量前面加上$,表示是對jQuery函數(shù)的調(diào)用

var $div = $('div');

以后的調(diào)用中就可以直接用我們剛才創(chuàng)造的變量了,
而且已經(jīng)把'div'作為參數(shù)傳入了,以后對jQuery內(nèi)部的函數(shù)來對所有div進行操作,就不需要重復輸入這個參數(shù)了,直接用$div就可以

最后調(diào)用函數(shù),完成目標操作

$div.addClass(['red']);
$div.setText('hi');
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 數(shù)組方法里push、pop、shift、unshift、join、split分別是什么作用。(*) 1. push...
    菲龍?zhí)诫?yún)閱讀 356評論 0 2
  • 北京2018年4月1日上午,NBA常規(guī)賽勇士客戰(zhàn)國王的比賽中,發(fā)生了令人痛心不已的一幕。比賽進行到第三節(jié)還有41...
    Curry_宇閱讀 1,366評論 1 1
  • 卸下妝 卸下負累 卸下表演 人群中的妖艷 在窩心的地方 抽搐的是浩淼無期 你是癢 抓撓夠不到的地方 或許 終其一生...
    亦柔閱讀 158評論 0 0
  • 工具重新定義了時間和成本。 工具系統(tǒng),讓我們能更好的執(zhí)行方法論(收集-排程-4D原則處理) 手機管理短期、中期和長...
    CJJShare閱讀 255評論 0 0
  • 之前有一段時間經(jīng)朋友的推薦,迷上了郭敬明的小說《幻城》。這本書,不管是從結(jié)構上,字數(shù)上等綜合方面來說,可能還不如大...
    冰寒三尺閱讀 1,798評論 5 10

友情鏈接更多精彩內(nèi)容