原生 JavaScript 是一個入門門檻相對容易的程式語言,讓人又愛又恨——愛它容易起步上手,恨它藏著各種魔鬼的細節。
這個系列的目標是以清晰易懂的方式,探討原生 JavaScript 一些讓人混淆、容易造成 Coding 失誤、或不那麼確切清楚的特性或觀念,預計也會探討一些 ES6、ES7、ES8 的新特性。
期待這個過程能像 2019 iT 邦幫忙鐵人賽的意象——「勇者鬥惡龍」一般,斬破 JavaScript 惡魔般的迷霧!
前面 Day15 ~ Day18 舉了很多例子來剖析傳統函數在各種情境下的 this 物件。 過程雖然眼花繚亂,但有一個大原則:看呼叫時的物件是誰。不是看定義的...
3. 顯性函數綁定 (Explicit Function Binding) 3.1. Function.prototype.bind() 篇 傳統函數 Func...
今天文章輕鬆一點,來介紹一個簡單的 ES6 新特性:Enhanced Object Literals。 什麼是物件實字 (Object Literals) 平常...
Day19 的文章曾介紹傳統函數定義 (Function Definition) 的 100 種 4 種寫法,定義了也得有人呼叫才有用,那今天來介紹函數呼叫 (...
上一篇介紹到立即函數 (Self-Invoking Functions) 的用法,過程有沒有產生一個疑惑? 例如大費周章包裝了一個立即函數: (function...
(圖片素材來源: 網路圖片) 「To be or not to be, that is the question.」 這是莎士比亞經典《哈姆雷特》中,哈姆雷特王...
(Source: 網路圖片) 昨天的文章談到 Pass by value 和 Pass by reference。 一個程式語言的變數運作機制究竟是 Pass...
閉包 (Closures) 是 JavaScript 中名號響噹噹的一個概念。鐵人賽接近尾聲,終於輪到閉包出場。 閉包是什麼呢? 我們來看一下 W3School...
昨天介紹了基本的閉包用法,本篇就來看一些比較進階的閉包應用,或是情境比較複雜的例子。 模擬 Class 物件導向用法中的私有成員變數效果 用過其他 Class-...
終於來到最後一天尾聲。 (Source: 白爛貓貼圖) 擁抱 JavaScript 的未來 這篇文章的題目是擁抱 JavaScript 的未來,就讓我們在尾聲來...