我正在研究Javascript中的變量作用域,並且遇到了變量聲明和變量初始化之間的區別。從與一位開發人員交談我知道,我的理解是,在變量聲明將變量分配給本地作用域之前編寫var
,而在聲明變量將變量賦值給全局作用域之前不寫入var
。這是真的?在本地範圍初始化JavaScript變量
如果在聲明變量之前寫入變量var將變量賦值給本地作用域,那麼當初始化變量以將其保留在本地作用域中時,是否需要稍後編寫var
?例如:
var someVariable;
// Do some things with JavaScript
someVariable = 'Some Value'
自從我宣佈someVariable
在局部範圍內與var
,但隨後沒有使用var
初始化someVariable
,並JavaScript的認爲我只是初始化一個變量在局部範圍內,或者說我聲明一個變量局部範圍,然後宣佈和在全局範圍內初始化另一個變量?
後來,當我想再次更改someVariable
的值時,是否需要在變量表達式之前寫var,或者JavaScript是否知道我正在更改已聲明的局部變量的值?從技術上講,JavaScript如何知道我何時更改已聲明的局部變量的值,以及何時聲明和初始化全局變量?
我還要補充一點,我目前正在努力提高我對談論JavaScript時使用的正確術語的理解。因此,我不會因爲如何使用術語而被糾正而感到不安。 – 2013-02-27 20:57:15