hi,老師你好~關于聲明和定義以及作用域看了好多博客理解都不是很深,今天還有一些小的疑問!
看了7-3這一節課,總結起來可不可以這樣:在全局執行環境中,無論有多少var也不管名字沖突與否,都可以默認先把這些聲明寫到代碼的最開始,然后再看是否名字有沖突,如果有沖突就按照那三個標準判斷,最后看alert()語句和賦值語句的位置,如果賦值語句在前就輸出數值,否則是undefined,對么??
看了7-3這一節課,總結起來可不可以這樣:在全局執行環境中,無論有多少var也不管名字沖突與否,都可以默認先把這些聲明寫到代碼的最開始,然后再看是否名字有沖突,如果有沖突就按照那三個標準判斷,最后看alert()語句和賦值語句的位置,如果賦值語句在前就輸出數值,否則是undefined,對么??
2015-04-20
舉報
2015-05-08
變量初始化階段,所有變量聲明都會提前處理,并且初始化值為undefined
而賦值語句是在代碼執行階段觸發的,經過賦值改寫了變量值再alert自然就是修改之后。而變量/函數的聲明,是前置處理的。