「前端面試題大全01」
05-24
「前端面試題大全01」
推薦閱讀:
一.JS中的Numeber類型
1.問題一:在四則運算中存在精度丟失的問題(1)比如:0.1 + 0.2 //結果為:0.30000000000000004(2)原因:計算機中用二進位來存儲小數,而大部分小數轉成二進位之後都是無限循環的值,因此存在取捨問題,也就是精度丟失。
2. 超過最大安全整數的運算是不安全的(1)比如:9007199254740991 + 2 // 9007199254740992(2)原因:本質上還是因為數字類型在計算機中的存儲結構。在尾數位不夠補零之後,只要是多餘的尾數為1所對應的整數都不能被精確表示。
3.上面兩個問題原因總結不管是浮點數計算的結果錯誤和大整數的結果錯誤,最終都可以歸結到JS的精度只有53位(尾數只能存儲53位的有效數字)4.解決方案:
(1)大而全的解決方案就是使用mathjs(2)使用這個1k都不到的number-precision二.css設計模式OOCSS; SMACSS;BEM;Atomic CSS;CSSin JS
細節可以見我的獨立博客哦。三.WeakMap可以解決閉包內存泄漏問題1.map
(1)任意值當做鍵(2)對象Object的鍵只能是字元串(3)Map類似字典,set類似集合2.weakmap(1)鍵必須是對象(2)當引用的對象消失之後,JS的GC垃圾回收機制會自動釋放佔用的內存,從而解決內存泄漏問題推薦閱讀: