在JavaScript中,变量的命名规则与Java相同。
JavaScript是一种弱类型语言,也就是说,在声明变量时,不需要指定变量的类型,变量的类型由赋给变量的值确定。
对于这一点,不像Java和C#那样在声明的同时指定变量的数据类型。
机械的理解是使用变量来存储、得到并操作脚本中出现的所有的不同值。创建有意义的变量名称,便于别人理解脚本。
在JavaScript中,变量是使用关键字var声明的。
var 合法的变量名;
var是声明变量所使用的关键字,“合法的变量名”是遵循JavaScript变量的命名规则的变量名(与Java变量的命名规则相同)。
也可以在声明的同时为变量赋值,这叫做变量的初始化,也可以在稍后的脚本中为变量赋值。
同时声明和赋值的变量,同时声明多个变量并且赋值,示例如下:
var count = 10; //在声明变量count的同时,将数值10赋给了变量count。
var name = "Hamber_Bao",score = 100;
在JavaScript中,允许不声明变量而直接使用,系统将会自动声明该变量。此方法容易出错,不推荐使用。
不推荐使用未显式声明变量理由1:
JavaScript中,若尝试为未声明的变量赋值,JavaScript会自动隐式声明该变量。但隐式声明的变量总是会被创建为全局变量。
结果为弹出10,报错b未定义。
所以避免在使用局部变量的地方定义全局变量,我们应该在javaScript中定义变量最好都用关键字var定义。
不推荐使用未显式声明变量理由2:
会造成与内置函数名字相同而使用混乱的情况,从而引起javascript中变量类型让人捉摸不投的局面。
弹出的结果为string。是不是感觉到纳闷了···为什么是string呢?我明明给的是33,number类型的!
然后,我们再试试用var关键字声明后的结果。
弹出结果是number。
是什么原因使name具有这个特点呢?原因其实也很简单,这是因为name是window这个对象的一个属性,它是一个字符串,表示窗口的名字。
至此我们有了一个解决办法,要使name这个名字作为变量名字,而不作为了window对象的属性来使用,只需在它前面加一个var声明它,这样的作用是把这个变量局部化了,从而屏蔽了高层中相同的名字。
为了防止在JavaScript中出现这样或那样的变量问题,所以,劝大家在JavaScript中定义变量,一律使用Var关键字定义···
还有一点,我们在文章开头也提到了,那就是JavaScript中的变量类型不是固定,它是随着赋值类型的变化而变化的。下面我们就证明了这一点:
先后弹出number,string。类型变了···说明javaScript中的变量的类型是动态的。
2010-06-22
By 【Hamber_Bao】