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');