iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Modern Web

就是要搞懂 JavaScript 啦! 系列

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

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

Day01 就是要搞懂 JavaScript 啦!

踏入程式一行轉眼 3 年了,自覺差不多結束了 Junior 的萌新狀態,目前繼續在成為名副其實的 Senior 道路上努力。 到目前為止的積累究竟有多少呢?我不...

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

Day02 直譯?編譯?傻傻搞不清楚

JavaScript 其中一大謎團,就是關於它到底屬於直譯式還是編譯式語言。 那麼首先,就來簡單定義一下這兩者: 直譯式語言(Interpreted langu...

2022-09-17 ‧ 由 Emi 分享
DAY 3

Day03 編譯時到底做了什麼?

前面已經說到,JS 是一種採用即時編譯(JIT)的語言,雖然過程十分短暫迅速,依然經歷了編譯這個環節。 這裡就來稍微快速理解一下,編譯時具體都做了些什麼。 編譯...

2022-09-18 ‧ 由 Emi 分享
DAY 4

Day04 宿主 or 原生?原來你不是我們家的孩子!

宿主環境 上一篇提到 JS 的執行方式,這裡就順勢來說說,JS 執行時需要依賴的宿主環境(host environment)。 系統級的語言,例如 C 語言可以...

2022-09-19 ‧ 由 Emi 分享
DAY 5

Day05 變數──值的容器

變數(Variables) 在執行程式時,我們需要紀錄某些狀態的改變,例如某扇門開著或關著,某項物品當前有多少庫存等。 為了因應其狀態的改變,程式中定義了能被賦...

2022-09-20 ‧ 由 Emi 分享
DAY 6

Day06 變數查詢:到底是左邊還是右邊啦!

變數查詢 關於變數的使用,這裡讓我們再探討得深入一些。 當程式執行時,對變數的操作分為以下兩種: LHS (Left Hand Side) RHS (Righ...

2022-09-21 ‧ 由 Emi 分享
DAY 7

Day07 變數存在的泡泡空間──作用域

介紹完變數後,來看看變數所處的環境。 用最簡單的方式來說,所謂的作用域可以理解為「變數能夠存活的區塊泡泡」。每個變數只屬於一個作用域,一個作用域內則可以存在多個...

2022-09-22 ‧ 由 Emi 分享
DAY 8

Day08 宣告領土──詞法作用域

「詞法作用域(Lexical Scope)」是指編譯器在詞法分析/語意分析時所定義的範疇,除非在執行時期用特殊方法改動(如 JS 的 with 或 eval()...

2022-09-23 ‧ 由 Emi 分享
DAY 9

Day09 這是我的地盤──函式作用域

函式作用域(Function Scope) JS 的每個函式都擁有自己的作用域,可以說,當你宣告了一個函式,同時就創建了一個新的作用域。 函式作用域的規則如下:...

2022-09-24 ‧ 由 Emi 分享
DAY 10

Day10 我也有自己的地盤啦!──區塊作用域

區塊作用域(Block Scope) 在 JS 最早的版本中,只有函式能夠創造自己的作用域。 接著 ES3 新增了 try/catch ,其中的 catch 擁...

2022-09-25 ‧ 由 Emi 分享