常用但易忘的一些知識(shí)點(diǎn)

  • 遞歸調(diào)用arguments.callee();
  • caller和callee:arguments.callee返回當(dāng)前正在執(zhí)行的函數(shù),function.caller返回函數(shù)的調(diào)用體所在函數(shù)。
  • 變量和函數(shù)提升:
    • 01、在使用函數(shù)表達(dá)式方式創(chuàng)建函數(shù)(var func = function(){})的時(shí)候,整個(gè)函數(shù)表達(dá)式并不會(huì)進(jìn)行提升,只會(huì)對(duì)var聲明的變量提升;
    • 02、預(yù)處理的時(shí)候,同名的函數(shù)都會(huì)進(jìn)行提升,但是后面的會(huì)覆蓋掉前面的;
    • 03、如果出現(xiàn)變量和函數(shù)同名的情況,則在進(jìn)行提升的時(shí)候,只會(huì)提升函數(shù)到當(dāng)前作用域頂端而忽略變量的提升操作。
  • 關(guān)于call和apply:
    • 01、call:對(duì)象a要調(diào)用對(duì)象b中的c方法時(shí):b.c.call(a,d,e,...);d,e,...指?jìng)魅隻中的實(shí)參;并且把b中的this指向a。
    • 02、apply:b.c.apply(a,[d,e,...]);不需要更改this指向時(shí)a寫成null,call同。
    • 03、apply的功能和call一模一樣,但是只有一點(diǎn)不一樣:Call的傳參是平鋪的,Apply是把所有參數(shù)放在一個(gè)數(shù)組里面的傳遞的。
  • splice(a,b,c)方法中a指要操作的位置,b指從a開(kāi)始向后刪除幾個(gè),c指要添加到位置a的東西。c省略時(shí)指刪除;
  • split:把字符串切割為數(shù)組;
  • slice() 方法可從已有的數(shù)組中返回選定的元素,返回一個(gè)新的數(shù)組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。
  • 以下形成一個(gè)鏈?zhǔn)降慕Y(jié)構(gòu),稱之為原型鏈:
    • ① 每個(gè)構(gòu)造函數(shù)都有原型對(duì)象
    • ② 每個(gè)對(duì)象都有自己的構(gòu)造函數(shù)
    • ③ 每個(gè)構(gòu)造函數(shù)的原型都是一個(gè)對(duì)象
    • ④ 那么這個(gè)構(gòu)造函數(shù)的原型對(duì)象也有自己的構(gòu)造函數(shù)
    • ⑤ 那么這個(gè)構(gòu)造函數(shù)的原型對(duì)象的構(gòu)造函數(shù)也有自己的原型對(duì)象
  • 原型鏈中的屬性搜索原則:
    • 當(dāng)訪問(wèn)某個(gè)對(duì)象的成員的時(shí)候,會(huì)先在自身中查找,如果找到則直接使用
      如果在自身中沒(méi)有找到,則去當(dāng)前創(chuàng)建當(dāng)前對(duì)象的構(gòu)造函數(shù)的原型對(duì)象中查找,如果找到了則直接使用
      如果在該原型對(duì)象中沒(méi)有找到,則繼續(xù)查找原型對(duì)象的原型對(duì)象(創(chuàng)建該原型對(duì)象的構(gòu)造函數(shù)所對(duì)應(yīng)的原型對(duì)象),如果找到則直接使用
      如果在原型對(duì)象的原型對(duì)象中也沒(méi)有找到,則繼續(xù)向上搜索....
      直到Object的原型對(duì)象,若還是沒(méi)有,則返回undefined(屬性)或報(bào)錯(cuò)(方法)。
  • 設(shè)置繼承:
    SubClass.prototype = new SuperClass();
    SubClass.prototype.constructor = SubClass;
  • 在javaScript中,打印時(shí)會(huì)調(diào)用toString函數(shù),相加計(jì)算會(huì)調(diào)用valueOf函數(shù)。
  • 生成圖像占位符:
 <img src=imgSrc>
  imgSrc="http://placehold.it/50x50"
  • each方法中的this應(yīng)該是value;
  • each是jQuery的方法(可以遍歷真數(shù)組, 也可以遍歷偽數(shù)組, 以及可以遍歷對(duì)象(fn(k,v)));
  • map是jQuery的方法(可以遍歷真數(shù)組, 也可以遍歷偽數(shù)組, 以及可以遍歷對(duì)象(fn(v,k)));
  • forEach是js方法(只能遍歷真數(shù)組(fn(v,k));
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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