1. 程式人生 > 其它 >前端面試題目彙總

前端面試題目彙總

1、為什麼typeof null 是object?

不同的資料型別在底層都是通過二進位制表示的,二進位制前三位為000則會被判斷為object型別,

而null底層的二進位制全都是0,那前三位肯定也是000,所以被判斷為object

2、0.1 + 0.2 === 0.3,對嗎?不對

JavaScript的計算存在精度丟失問題

  • 原因:JavaScript中小數是浮點數,需轉二進位制進行運算,有些小數無法用二進位制表示,所以只能取近似值,所以造成誤差
  • 解決方法:
    • 先變成整數運算,然後再變回小數
    • toFixed() 效能不好,不推薦

3、addEventListence的第三個引數是幹嘛的?

xxx.addEventListence('click', function
(){}, false)

第三個變數傳一個布林值,需不需要阻止冒泡,預設是false,不阻止冒泡

4、Ajax、Axios、Fetch有啥區別?

  • Ajax:是對XMLHttpRequest物件(XHR)的封裝
  • Axios:是基於Promise對XHR物件的封裝
  • Fetch:是window的一個方法,也是基於Promise,但是與XHR無關,不支援IE