「前端面試題大全01」


一.JS中的Numeber類型

1.問題一:在四則運算中存在精度丟失的問題

(1)比如:0.1 + 0.2 //結(jié)果為:0.30000000000000004

(2)原因:計算機中用二進制來存儲小數(shù),而大部分小數(shù)轉(zhuǎn)成二進制之后都是無限循環(huán)的值,因此存在取舍問題,也就是精度丟失。

  1. 超過最大安全整數(shù)的運算是不安全的

(1)比如:9007199254740991 + 2 // 9007199254740992

(2)原因:本質(zhì)上還是因為數(shù)字類型在計算機中的存儲結(jié)構(gòu)。在尾數(shù)位不夠補零之后,只要是多余的尾數(shù)為1所對應的整數(shù)都不能被精確表示。

3.上面兩個問題原因總結(jié)

不管是浮點數(shù)計算的結(jié)果錯誤和大整數(shù)的結(jié)果錯誤,最終都可以歸結(jié)到JS的精度只有53位(尾數(shù)只能存儲53位的有效數(shù)字)

4.解決方案:

(1)大而全的解決方案就是使用mathjs

(2)使用這個1k都不到的number-precision

二.css設(shè)計模式

OOCSS; SMACSS;BEM;Atomic CSS;CSSin JS

細節(jié)可以見我的獨立博客哦。

三.WeakMap可以解決閉包內(nèi)存泄漏問題

1.map

(1)任意值當做鍵

(2)對象Object的鍵只能是字符串

(3)Map類似字典,set類似集合

2.weakmap

(1)鍵必須是對象

(2)當引用的對象消失之后,JS的GC垃圾回收機制會自動釋放占用的內(nèi)存,從而解決內(nèi)存泄漏問題

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,030評論 25 709
  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時...
    歐辰_OSR閱讀 30,235評論 8 265
  • 1 今年,非特殊情況,每周六我都會去上韓語課,從時間跨度來講,為期一年了。 知道我在學韓語的人,基本會問,韓語學的...
    付姐兒閱讀 715評論 3 50
  • 突然, 覺得自己好遙遠, 像是, 手腳心不由自主, 不動, 但是意志還存在, 還是, 想著那人和那情。
    李枍閱讀 125評論 0 1
  • 你輕輕掀開絨棉小被 就著陽光 在我的額上品嘗一抹香甜 “早安” 我偷偷扯動唇角裝睡 昨夜星辰 在這張潔白的大床上傾...
    傾聽一棵樹閱讀 198評論 1 3

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