原创 setTimeout和setImmediate到底誰先執行,本文讓你徹底理解Event Loop

筆者以前面試的時候經常遇到寫一堆setTimeout,setImmediate來問哪個先執行。本文主要就是來講這個問題的,但是不是簡單的講講哪個先,哪個後。籠統的知道setImmediate比setTimeout(fn, 0)先執

原创 RSA初探,聊聊怎麼破解HTTPS

這篇文章跟大家討論一個比較有意思的問題:怎麼破解https?大家都知道,現在幾乎整個互聯網都採用了https,不是https的網站某些瀏覽器還會給出警告。面試中也經常問到https,本文會深入https原理,一直講到https破解

原创 學以致用:手把手教你擼一個工具庫並打包發佈,順便解決JS小數計算不准問題

本文講解的是怎麼實現一個工具庫並打包發佈到npm給大家使用。本文實現的工具是一個分數計算器,大家考慮如下情況: (((13+3.5)∗29−27109)/889654)4 \sqrt{(((\frac{1}{3}+3.5)*\fr

原创 從發佈訂閱模式入手讀懂Node.js的EventEmitter源碼

前面一篇文章setTimeout和setImmediate到底誰先執行,本文讓你徹底理解Event Loop詳細講解了瀏覽器和Node.js的異步API及其底層原理Event Loop。本文會講一下不用原生API怎麼達到異步的效果

原创 前端也能學算法:由淺入深講解動態規劃

動態規劃是一種常用的算法思想,很多朋友覺得不好理解,其實不然,如果掌握了他的核心思想,並且多多練習還是可以掌握的。下面我們從幾個例題由淺入深的來講講動態規劃。 斐波拉契數列 首先我們來看看斐波拉契數列,這是一個大家都很熟悉的數列:

原创 JS做類型檢測到底有幾種方法?看完本文就知道了!

JS有很多數據類型,對於不同數據類型的識別和相互轉換也是面試中的一個常考點,本文主要講的就是類型轉換和類型檢測。 數據類型 JS中的數據類型主要分爲兩大類:原始類型(值類型)和引用類型。常見的數據類型如下圖所示: 原始數據類型存

原创 輕鬆理解JS中的面向對象,順便搞懂prototype和__proto__

本文首發於掘金社區: https://juejin.im/post/5e50e5b16fb9a07c9a1959af   這篇文章主要講一下JS中面向對象以及 __proto__,ptototype和construcator,這幾個概念都