iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Modern Web

就是要搞懂 JavaScript 啦! 系列

本篇系列文為《You Don't Know JS》的讀書筆記,並搭配其他補充資料,寫下自己對這門語言的理解。
作為前端工程師,JavaScript 的各種實作細節是無法避開的課題,在一次次閱讀各種文件和文章,加上工作中累積的實作經驗,也算是對 JavaScript 建立起了相關的知識體系。於是就想藉著這次讀書筆記的機會,來和大家分享我所知道的 JavaScript。
所以說......就是要搞懂 JavaScript 啦!之前搞不懂的、一知半解的、模模糊糊的,這一次通通給他弄懂!

鐵人鍊成 | 共 73 篇文章 | 26 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day11 咱們井水不犯河水──作用域的優點

說了這麼多,到底為什麼要使用作用域呢? 說到底,列出一系列對變數存取的規則,目的就是要製造出一個個作用域泡泡,只有在合乎規定的情況下,才能夠使用泡泡內部的變數,...

2022-09-26 ‧ 由 Emi 分享
DAY 12

Day12 提升:到底是在提什麼升什麼啦!

變數的提升 我們已經知道,變數依賴著作用域存活,也就是遵循著一系列規則被存取。 而在變數的宣告和賦值上,有一個微妙的細節。 先前已經提過,進行變數查詢時如果找不...

2022-09-27 ‧ 由 Emi 分享
DAY 13

Day13 提升:為什麼要提升?留在原地不好嗎?

函式宣告 延續上一篇的話題,我們來看看這段程式碼: console.log(a); var a; function a(){ console.log(&qu...

2022-09-28 ‧ 由 Emi 分享
DAY 14

Day14 閉包:服務生!麻煩整個打包帶走

在結束提升的討論後,我們來到作用域中的另一個謎題:閉包(Closure)。 閉包在 JS 的程式碼中扮演隱微卻關鍵的角色,函式替作用域創造了封閉性,閉包卻把函式...

2022-09-29 ‧ 由 Emi 分享
DAY 15

Day15 模組:神奇而神祕的工具箱

上一篇我們已經知道,只要有函式就有閉包,而其中一種將閉包運用得淋漓盡致的方法,就是所謂的模組(Modules)。 神奇的工具箱 模組就像一個設計好的工具箱,比方...

2022-09-30 ‧ 由 Emi 分享
DAY 16

Day16 this:你說的這個到底是哪個?

這章開始,我們要探索另一個 JS 裡的重大謎團──總是讓人搞不清楚是這個還是那個的 this 。 為什麼要有 this? 在介紹 this 之前,首先來看看 t...

2022-10-01 ‧ 由 Emi 分享
DAY 17

Day17 this 綁定類型:賴上你的一百種方法(?)

呼叫點 & 呼叫堆疊 前面說到,this 綁定的對象與作用域無關,而是決定於與函式如何調用,也就是呼叫時建立的執行環境(Execution contex...

2022-10-02 ‧ 由 Emi 分享
DAY 18

Day18 this 默認綁定:總之就是認定你了!

默認綁定(Default Binding) 當函式未使用其他綁定方式,獨立被調用時,它所在的環境即是默認的全域環境,此時函式內部執行環境的 this 便預設指向...

2022-10-03 ‧ 由 Emi 分享
DAY 19

Day19 this 隱含綁定:這大概就是所謂的含蓄美吧

隱含綁定(Implicit Binding) this 綁定的另一種方法,是讓函式調用時擁有一個環境物件(context object),或稱擁有者(owner...

2022-10-04 ‧ 由 Emi 分享
DAY 20

Day20 this 明確綁定:月老的紅線絕不出錯

檢視明確綁定之前,讓我們先回到之前出現過的範例: const person1 = { name: 'Amy' } const person2 = {...

2022-10-05 ‧ 由 Emi 分享