29(F)-jQuery

助赞。

我遍歷他要干啥造虏?把兄弟姐妹和我自己分開唄梯醒。所以需要判斷allChildren是不是等于自己。不等于自己的就是兄弟姐妹唄迅耘,放到一個新數組里面所以需要先聲明一個新的偽數組贱枣。又由于用parentNode.children出來的是一個偽數組监署。數組是有l(wèi)ength有 __proto__:Array颤专,對象是沒有l(wèi)ength纽哥,沒有__proto__:Array。偽數組是有l(wèi)enght但是沒有__proto__:Array的對象栖秕。所以要申明的應該是對象春塌,并且給一個length。但是我要怎么把遍歷出來的放入偽數組呢簇捍?通過length從0開始增加只壳。反正隨著i增加就行了。最后的length = i - 1(當然這個不用寫出來)

等于和賦值暑塑,賦值的話只有一個=:被賦值 = 賦值吼句。等于的話隨便寫,一般不是判斷1的都是賦值事格。

return!!!

forEach就是拿來遍歷數組用的惕艳,那我就不用寫for(let i = 0; i < classes.length; i ++ )了。value指的是對象的value不是傳入啥驹愚,要傳入的參數是calsses远搪。

遍歷這東西用習慣了以后就不用去想原來了,當公式用了逢捺,直接遍歷谁鳍,遍歷的時候的操作就當做操作一個數組內容。只是實際上會操作所有內容而已劫瞳。


插入一個大疑問為什么遍歷這么重要倘潜,隨處可見的遍歷。

因為數組重要志于,生活中到處是數組涮因,起床刷牙要從一堆東西中拿出牙刷,穿衣服要重一堆中拿出一件恨憎,去看車也是去自己車位開車蕊退。路我也選了建設4路,停車憔恳,選早餐瓤荔,找位置。雖然不知道我大腦怎么處理這些東西的钥组,但是從代碼角度這些東西肯定是先存在數組里面我再挑選的输硝。所以生活到處是數組。同樣的前后端給數據也都是數組程梦。能用數組就用數組点把。像宏光說的除了0就是數組橘荠,數組這東西會經常用到,自己要聲明變量的時候第一時間就要想想可不可以數組郎逃。



兩個點:1.for (let key in object){? ?}是遍歷的公式远舅,其中變量key是自己聲明的,你換其他的也行锌妻。

2.要拿到value只能用object[key]楚里,不能用object.key。key這個變量你聲明了確實是有了优训,可以打印出來朵你。那為什么object.key不行呢?因為代碼會認為你是給object追加一對key:value揣非,這會有歧義抡医。所以總結下:要拿到object的value如果是拿1個可以用object.key和object[key],如果拿多個只能object[key]


本來if里面如果是true的話就執(zhí)行早敬。所以一般用===判斷是不是true忌傻。所以直接數組的key搞成true和false就很方便了哇


本來是用if else得到兩個結果,現在其實還是循環(huán)搁嗓。

解讀:classes[key]如果等于true那就把add賦值給methodName芯勘,然后item3.classList[methodName](key)

classes[key]如果等于false那就把remove賦值給methodName,然后item3.classList[methodName](key)

這里本來是classList.add現在變成classList[add]這樣可以嗎腺逛?當然可以了荷愕,不都是選中classList里面的add這個key嗎?



同理上面這個if也可以換成這個模式棍矛,這句話也太好用了吧


自己寫API會有缺點:


比如Number是一個函數安疗,如果我直接用了這個函數那么我就覆蓋了這個函數。同理我在寫getSibling或者addClasses的時候也可能覆蓋原有的函數够委。所以我最好寫一個自己的庫荐类,然后把函數都放到自己的庫里面。但是如果先寫API再寫庫還是可能會覆蓋的茁帽。所以在全局完全就不能用聲明具名函數的方法玉罐。不能function xxx (){} ,那得用什么方法潘拨?用給對象加屬性的方法吊输!


這就是命名空間啦



this



this就是函數體內用this,但是傳入參數可以不寫铁追,然后調用的時候寫季蚂。也就是說this就當普通變量用,只是寫函數的時候this不用傳入。引用的時候需要.call

另外之前item3.parentNode其實是等于item3.parentNode.call(item3)? ? a.forEach()等于a.forEach.call(a)


搜:方應杭:this的值到底是什么扭屁,一次說清楚




typeof不用加括號



閉包

用了函數外的一個變量算谈,兩者組成一個閉包。然后只要有人用這個節(jié)點就不會被當垃圾回收料滥,反正先知道這些吧然眼,深入的以后學到再說。



給數組里面加東西用push比用i更好幔欧。

總結一下jQuery:

首先接收一個node或者選擇器然后封裝成一個偽數組罪治,然后在偽數組上面加幾個API丽声,然后把偽數組送出去礁蔗。

用的時候:聲明一個變量等于jQuery后面跟一個選擇器。

所以node2其實就是一個哈希雁社,前面是屬性后面是方法浴井。jQuery就是一個函數這些總結要做好。

作業(yè)

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末霉撵,一起剝皮案震驚了整個濱河市磺浙,隨后出現的幾起案子,更是在濱河造成了極大的恐慌徒坡,老刑警劉巖撕氧,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異喇完,居然都是意外死亡伦泥,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門锦溪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來不脯,“玉大人,你說我怎么就攤上這事刻诊》揽” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵则涯,是天一觀的道長复局。 經常有香客問我,道長粟判,這世上最難降的妖魔是什么亿昏? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮浮入,結果婚禮上龙优,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好彤断,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布野舶。 她就那樣靜靜地躺著,像睡著了一般宰衙。 火紅的嫁衣襯著肌膚如雪平道。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天供炼,我揣著相機與錄音一屋,去河邊找鬼。 笑死袋哼,一個胖子當著我的面吹牛冀墨,可吹牛的內容都是我干的。 我是一名探鬼主播涛贯,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼诽嘉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了弟翘?” 一聲冷哼從身側響起虫腋,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎稀余,沒想到半個月后悦冀,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡睛琳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年盒蟆,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掸掏。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡茁影,死狀恐怖,靈堂內的尸體忽然破棺而出丧凤,到底是詐尸還是另有隱情募闲,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布愿待,位于F島的核電站浩螺,受9級特大地震影響,放射性物質發(fā)生泄漏仍侥。R本人自食惡果不足惜要出,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望农渊。 院中可真熱鬧患蹂,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至沼溜,卻和暖如春平挑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背系草。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工通熄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人找都。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓唇辨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親檐嚣。 傳聞我的和親對象是個殘疾皇子助泽,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內容