国产毛多水多高潮高清,久热这里只有精品视频6,国内精品久久久久久久久电影网,国产男同志CHINA69,精品999日本久久久影院,人人妻人人澡人人爽人人精品,亚洲中文无码永久免

「高频JS手写」20+高频JS手写题总结-乐鱼体育NBA

「高频JS手写」20+高频JS手写题总结

2026-01-18 02:16:31投稿人:喜力彩票APP(郴州)有限公司圍觀2567163 評論

「高頻JS手寫」20+高頻JS手寫題總結(jié)

前言

這篇文章主要是 總結(jié) + 實踐一些比較常見且重要的JS手寫題 ,方便自己以及大家學習參考 。

1. 數(shù)據(jù)類型判斷

核心思想:typeof 可以判斷 Undefined  、String、Number、Boolean 、Symbol、Function類型的數(shù)據(jù)  ,但對其他的都會認為是Object,比如Null 、Array等。所以通過typeof來判斷數(shù)據(jù)類型會不準確 。

解決方法:可以通過Object.prototype.toString解決。

實現(xiàn):

function mytypeof(obj) {     return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();}復制代碼
  1. 使用call 是為了綁定 this 到 obj 上
  2. 使用slice 是因為這前面返回的結(jié)果是類似[Object xxx]這樣的, xxx 是根據(jù) obj 的類型變化的
  3. 使用toLowerCase 是因為原生typeof的返回結(jié)果的第一個字母是小寫字母  。

2. 繼承

2.1 原型繼承

核心思想 :子類的原型成為父類的實例

實現(xiàn) :

function SuperType() {     this.colors = ['red', 'green'];}function SubType() { }// 原型繼承關(guān)鍵: 子類的原型成為父類的實例SubType.prototype = new SuperType();// 測試let instance1 = new SubType();instance1.colors.push('blue');let instance2 = new SubType();console.log(instance2.colors);  // ['red', 'green', 'blue']復制代碼

原型繼承存在的問題 :

  1. 原型中包含的引用類型屬性將被所有實例對象共享
  2. 子類在實例化時不能給父類構(gòu)造函數(shù)傳參

2.2 構(gòu)造函數(shù)繼承

核心思想 :在子類構(gòu)造函數(shù)中調(diào)用父類構(gòu)造函數(shù)

實現(xiàn)