var globalcolor = "globalcolor";
function
globalfunc
() console.log(globalcolor)
innerfunc();
}globalfunc();
console.log(globalcolor)
//globalfunccolor
//globalcolor-innerfunccolor
//globalcolor
//優先訪問當前執行**環境的變數物件
function
buildurl
() return res;
}buildurl();
//width裡的href代表的是location.href,所以結果裡並沒有"test.com"
trycatch(ex);
// 對於捕獲來說會建立乙個新的變數物件,包含的是被丟擲來的錯誤物件的宣告
// 意思應該是新建立的執行環境下可以訪問到丟擲的錯誤物件
for(var i = 0; i < 10; i++)
console.log("now i is: " + i);
//now i is
10//變數i定義在for迴圈裡面,迴圈結束後,還是可以訪問到變數i,並沒有銷毀
var color = "red";
function
getcolor
()console.log(getcolor())
//呼叫getcolor函式時,返回color變數的值,首先會在getcolor函式的作用域內查詢color變數
//沒有找到變數,就會沿著作用域鏈繼續向上層的作用域查詢,找到就返回變數的值
//否則會一直向上查詢至window全域性作用域,如果全域性作用域下查詢不到,則就表明變數未宣告
//優先返回區域性作用域下的同名變數
4 2 Javascript之執行環境和作用域
執行環境每個執行環境都有乙個與之關聯的變數物件,環境中定義的所有變數和函式都儲存在這個物件中。書中說我們自己編寫的 無法訪問這個物件 下面這個最外層的執行環境window物件是可以訪問的呢?web瀏覽器中,最外層的執行環境是window物件,因此所有的全域性變數和函式都是作為window的屬性或者方...
JavaScript 4 2 函式高階 this
在函式內部有2個特殊的物件 arguments 和this。this物件是函式執行的環境物件,或者說,是呼叫函式的那個物件。這是函式的最通常用法,屬於全域性性呼叫,因此this就代表全域性物件 global。var x 0 function test test 呼叫函式test 的是全域性物件win...
Javascript之立即執行函式和逗號操作符
定義 此類函式沒有宣告,在一次執行過後即釋放。適合做初始化工作。function 只有表示式才能被執行符號執行 function test 錯,函式宣告不能被執行 function test 可以執行 function test a,b,c 1,2,3 既不報錯也不執行,會被理解成function ...