一猜惋、['1','2','3'].map(parseInt) 結(jié)果是 [1, NaN, NaN]
首先原式子可解析為?['1','2','3'].map(item 崭倘,index =>{parseInt(item,index)})parseInt(string,index) 第一個(gè)表示字母(大小寫均可)疹吃、數(shù)組、特殊字符(不可放在開頭,特殊字符及特殊字符后面的內(nèi)容不做解析)的任意字符串讳推,第二個(gè)表示解析字符串的基數(shù)為2到36之間析砸,例如parseInt(10,2) 等于2,因?yàn)?0轉(zhuǎn)換成二進(jìn)制為2垮庐。parseInt(100,2)等于4也是同理松邪。
所以['1','2','3'].map(parseInt) 可分解為?parseInt(1,0) ,parseInt(2,1) 哨查,parseInt(3,2) 所以后兩個(gè)為NAN
二逗抑、函數(shù)的節(jié)流和防抖
函數(shù)節(jié)流是指在指定時(shí)間間隔內(nèi)只能執(zhí)行一個(gè)任務(wù),函數(shù)防抖則是任務(wù)在頻繁觸發(fā)時(shí)寒亥,任務(wù)觸發(fā)時(shí)間超過間隔時(shí)間才會執(zhí)行邮府。
函數(shù)節(jié)流可用定時(shí)器以及fn.apply(this,arguemnet)方法來實(shí)現(xiàn)
函數(shù)防抖則是用定時(shí)器,在本函數(shù)內(nèi)先清除原有定時(shí)器溉奕,然后設(shè)置定時(shí)器挟纱,到了指定時(shí)間自然會觸發(fā)請求,未到時(shí)間再次觸發(fā)本函數(shù)腐宋,清除原有定時(shí)器紊服,再觸發(fā)新的定時(shí)器。
三胸竞、WeakSet弱引用欺嗤,只能存放對象與set相似,在節(jié)點(diǎn)保存上卫枝,刪除dom煎饼,WeakSet也可以自行刪掉內(nèi)存,不容易造成內(nèi)存泄漏校赤,且不能遍歷
四吆玖、es6的class屬性筒溃,聲明一個(gè)對象,但是無法做到提升沾乘,所以必須先class聲明然后再實(shí)例化對象怜奖,class方法無法被枚舉 例如object.keys(foo.prototype)