執行環境我們在撰寫 function 原始碼時,就已經定義好它的作用域了,不過要等到我們去執行它時,它才會建立一個執行環境,而有這個執行環境時 function 作用域才有屬於它的變數。執行環境會在每次調用函式時建立,這個執行環境會有限制作用域及產生 this 的特性。那麼最外層呢?最外層當然就是我 ...
JavaScript核心概念 - 語法作用域(Lexical Scope)
變數宣告與作用域首先,我們要知道 JavaScript 的變數有它作用域的範圍,未使用 var 所宣告的變數都會自動變成全域變數,而切分變數有效範圍的最小單位是 “function” (ES6 之後有 let 與 const 分別定義「變數」與「常數」。 與 var 不同的是,它們的 scope 是 ...
API(Application Programming Interface)-應用程式介面
到底什麼是 API ?API(Application Programming Interface)中文翻譯為應用程式介面,霧煞煞啊!什麼鬼。若從中文翻譯介面兩字我們大概可以推測,這東西大概是會顯示一些資訊或是有一些功能可以給我們操作,就像拿著手機操作螢幕一樣。而這個介面其實是給予我們串接用的,那為何 ...
JavaScript核心概念 - LHS、RHS是什麼?
原始碼語法錯誤首先,當我們在原始碼上使用到錯誤的語法時,console 都會顯示錯誤,這是原始碼在直譯器編譯過程中發生了錯誤。從下圖來看,我們在賦予字串這個值時,少了一個引號,console.log 則是少了括號,造成直譯器無法編譯。 因此,我們在撰寫 JavaScript 時,可能會很常 ...
JavaScript核心概念 - JavaScript是如何運行?
在瞭解 JavaScript 是如何運行前,我們要先瞭解在 script 中所寫的原始碼電腦是無法直接解讀的,這些語法都要轉換成電腦看得懂的代碼才有辦法運行,而語法的轉換則分成兩種,編譯式語言與直譯式語言: 編譯式語言(Compiled language)在我們寫好原始碼時,會先透過編譯器(c ...
JavaScript - 關於物件存取屬性的方法
點記法 (Dot notation)我們可透過點記法來存取物件的屬性與函式。為了存取物件內所封裝的東西,我們需要輸入物件名稱 (這裡是 person),來作為命名空間 (Namespace)。接著寫一個「點」以及想存取的項目,可能是簡單屬性的名稱、陣列屬性的項目,又或是針對物件函式之一的呼叫。舉例來 ...
JavaScript - 取得當前時間的方法
建立 Date( ) 物件在 JavaScript 中取得時間資訊需使用 Date() 物件來指向某一個時間點,透過物件內建的函式來取得相關資訊。取得時間的資訊有兩種方式,第一種是透過 Date.now() 來取得時間戳記(tiemstamp,毫秒),第二種是透過建構式建立 Date()物件,物件會 ...