0%

prototype 一直是個 JavaScript 核心裡面最難以解釋的概念,因為光是提到 prototype,就不得不提相關的概念:constructor__proto__Function.prototypeObject.prototype ……等等,所以等了一段時間我覺得是時候來講講他了。

閱讀全文 »

理解變數物件(Variable Object,簡稱 VO)與執行物件(Activation Object)的概念對於理解作用域(Scope)、提升(Hoisting)、垃圾回收機制(Garbage collection)、閉包(Closure)與執行環境(Execution context)等等至關重要。

究竟變數物件到底指的是什麼?為何理解它會可以快速打通任督二脈?就讓我們一來看看它吧!

閱讀全文 »

繼回呼地獄(Callback Hell)之後,ES 6 推了一個令人振奮的功能,那就是 Promise

Promise 解決了使用回呼時會產生的回呼地獄,讓整個程式平坦化之外,更多了一些 Promise.allPromise.race 使許多非同步處理能更加的簡潔,

今天就讓我們一起來看看 Promise 要怎麼使用吧!

閱讀全文 »

在介紹同步(synchronous)與非同步(asynchronous)前一定要來破個題,那就是

JavaScript 的執行期(runtime)一定是有按行數順序的即時編譯。

可是為何有時執行的函式會稍晚的時候才輸出、執行?

會有這個疑問就讓我們一起來認識認識什麼是同步與非同步吧!

閱讀全文 »