深入探討 Constructor Function
ECMAScript 5 並沒有 Class,雖然仍然可以使用 new 建立 Object,但必須透過 Constructor Function,但究竟 Constructor Function 有什麼黑魔法,竟然可以使用 new 建立 Object 呢 ?
ECMAScript 5 並沒有 Class,雖然仍然可以使用 new 建立 Object,但必須透過 Constructor Function,但究竟 Constructor Function 有什麼黑魔法,竟然可以使用 new 建立 Object 呢 ?
Object 有 3 個非常像的 Property:__proto__、prototype 與 [[prototype]],徹底了解有助於我們看清 Prototype 本質。
Object.create() 從 ECMAScript 5.1 就開始提供,與 new 不同的是 Object.create() 讓我們可直接根據 Prototype 建立 Object,事實上我們也可土炮實作。
實務上我們常需判斷 Array 是否 任意 資料符合某條件,若存在則傳回 true,若不存在則傳回 false,ECMAScript 提供了 some() 可判斷。
以前 Form Validation 要完全使用 JavaScript,HTML 5 將常用檢查功能內建,可大幅減少 JavaScript 長度。
有些網頁會在右側出現小視窗,事實上這是 HTML 5 所提供 Notification,由 Browser 所提供,可直接使用。
實務上我們常需判斷 Array 是否 全部 符合某條件,若存在則傳回 true,若不存在則傳回 false,ECMAScript 提供了 every() 可判斷。
margin: auto 為最簡單的水平置中,但卻只能用於有指定寬度的 Block,為什麼不能使用在 Inline 與 Inline-block 呢 ?
UL 與 LI 預設會垂直顯示,但實務上卻常常使用 UL 與 LI 製作水平 Menu,可使用 Flexbox 或 display: inline 使 UL 與 LI 水平顯示。
因為 ECMAScript 支援 First-class Function,因此可在 Function 內定義其他 Function,當 Function 內找不到 Variable 時,會先在 Function 內尋找,若找不到則往 Function 外層尋找,最後才會到 Global 尋找,此稱為 Scope Chain。