執行JavaScript時,接收到翻譯的電腦會先創造一個全域執行環境。當程式呼叫函式,就會在全域環境中創造該函式的(區域)執行環境。而每個執行環境不論全域或區域,都有屬於自己的變數作用域存在。
來看看以下程式碼:
function b() {
var myVar;
console.log(myVar);
}
function a() {
var myVar = 2;
console.log(myVar);
b(
昨天的筆記出現undefined與not defined,今天我們來看看兩者的差異。
undefined和not defined「字面上」來看都是未定義、無定義、沒有定義..之類的。
但對JavaScript(以下簡稱JS)而言,兩者的意涵完全不相同。在JS的世界裡,當我們宣告變數時,JS會給變數預設的值,就是undefined。
var a = 100;
// 或你要用ES6語法也可以
// let a = 100;