Day02 幾個名詞小觀念
今天的筆記比較偏觀念性質,畢竟是克服JS的奇怪部分這堂課開頭的部分,但對我這個非資訊本科的人來說也很受用了。
語法解析器(Syntax Parser)
程式、電腦科學的世界中,電腦並不會直接看懂JavaScript在(以下簡稱JS)寫什麼,而是會將JS轉譯成電腦看得懂的語言,可以這樣想:
當我們寫好JS程式時,在執行時,我們宣告的變數、函式,就會呈現在記憶體中,由電腦去運作使用。而中間負責將我們寫的JS轉換給電腦的,就是 "直譯器、轉譯器"。
它會逐字閱讀,當讀到var、let、const時,他就會知道我們要宣告個什麼東西,當讀到function,它會知道這是一個函式,只要我們在撰寫時遵守JS語法規則,執行時直譯器、轉譯器就會依照規則將其轉換成電腦認識的語言,而這個中介的引擎被稱為直譯、轉譯器。
詞彙環境(Lexical Environment)
代表程式碼在程式中的實際所在位置
蛤?什麼意思?
Lexical代表的是和程式的語法有關,特定的程式寫在哪裡是很重要的,例如:
當我們撰寫出一段宣告變數的JS語法
var food = "