「高频JS手写」20+高频JS手写题总结
「高頻JS手寫」20+高頻JS手寫題總結
前言
這篇文章主要是 總結 + 實踐一些比較常見且重要的JS手寫題 ,方便自己以及大家學習參考 。
1. 數據類型判斷
核心思想 :typeof 可以判斷 Undefined、String、Number、Boolean、Symbol 、Function類型的數據 ,但對其他的都會認為是Object ,比如Null、Array等 。所以通過typeof來判斷數據類型會不準確。
解決方法:可以通過Object.prototype.toString解決 。
實現:
function mytypeof(obj) { return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();}復制代碼- 使用call 是為了綁定 this 到 obj 上
- 使用slice 是因為這前面返回的結果是類似[Object xxx]這樣的, xxx 是根據 obj 的類型變化的
- 使用toLowerCase 是因為原生typeof的返回結果的第一個字母是小寫字母