1. 程式人生 > >vars 變量預解析

vars 變量預解析

聲明 scrip cti glob 可能 script 解析 vars fin

JavaScript中,你可以在函數的任何位置聲明多個var語句,並且它們就好像是在函數頂部聲明一樣發揮作用,這種行為稱為 hoisting(懸置/置頂解析/預解析)。當你使用了一個變量,然後不久在函數中又重新聲明的話,就可能產生邏輯錯誤。對於JavaScript,只要你的變量是在同一個作用域中(同一函數),它都被當做是聲明的,即使是它在var聲明前使用的時候。看下面這個例子:

JavaScript中,你可以在函數的任何位置聲明多個var語句,並且它們就好像是在函數頂部聲明一樣發揮作用,這種行為稱為 hoisting(懸置/置頂解析/預解析)。當你使用了一個變量,然後不久在函數中又重新聲明的話,就可能產生邏輯錯誤。對於JavaScript,只要你的變量是在同一個作用域中(同一函數),它都被當做是聲明的,即使是它在var聲明前使用的時候。看下面這個例子:

myname="global";//全局變量
function func(){
alert(myname);//"underfined"
var myname="local";
alert(myname);//"local"
}

vars 變量預解析