我正在研究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