4 2 Javascript之執行環境和作用域

2021-09-20 09:25:21 字數 1038 閱讀 1768

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 ...