第一,先说一下变量的声明;
变量在脚本中的第一次出现是在声明中,变量在第一次用到时就设置与内存里面了,这样方便在后来脚本中的引用。使用变量之前先进行声明,用VAR关键字来进行变量声明。
例如:
var mycount;//单个声明。
var a,b,c,d;//用单个var关键字声明多个变量。
var a=0,b=1,c=11;//一条语句中的声明和初始化。
如果在var语句中没有给变量进行初始化,变量会自动取undefined。注意,在过程级中声明一个变量时,他不能用于全局范围,所以,变量声明必须用var关键字。
第二,说一下变量命名;
变量名称是一个标识符。在jscript中用标识符来:
(1)命名变量
(2)命名函数
(3)给出循环的标签
jscript是一种区分大小写的语言,变量名称可以使任意长度,创建合法的变量规则:
(1)第一个字符必须是一个ASCII字母(大小写均可),或一个下划线,注意第一个字符不能是数字。
(2)后续的字符必须是字母,数字或下划线。
(3)变量名称不能是保留字。
下面给出一些合法的例子:
_count
Part5
Number_Itit
下面给出不合法的变量名称:
44girl //不能以数字开头
weight&high //&字符用于变量名称是无效滴。
当要声明一个变量并进行初始化,但又不想指定任何其他值,可以赋值为jscript值null,下面给出例子。
var count=null;
var finlycoutn = 1* count; //finlycoutn得知为0
如果声明了一个变量但没有对其赋值,该变量存在,其值为undefined,例如:
var a;
var b = 1* a; //b的值为NaN,因为a为undefined。
注意在jscript中null和undefined主要区别是null的操作象数字0,而undefined的操作象特殊值NaN(不是一个数字)。对null喝undefined值作比较总是相等的。
变量还有一种声明方法就是隐士声明,就是不用var关键字声明变量,斌赋值。
nostring = ""; //隐士声明变量nostring.
但是不能使用未经声明的变量。
var v = length*wei; //length和wei并不存在。
最后说一下变量的强制转化
表达式中操作项的数据类型相同时 JScript 解释器才能对其求值。如果表达式不经过强制转换就试图对两个不同的数据类型(如一个为数字,另一个为字符串)执行运算,将产生错误结果。但在 Jscript 中情况就不同了。
JScript 是一种自由类型的语言。它的变量没有预定类型(相对于强类型语言,如 C++)。相反,JScript 变量的类型相应于他们包含的值的类型。这种操作的好处是能将值作为另一类型处理。
在 Jscript 中,可以对不同类型的值执行运算,不必担心 JScript 解释器产生异常。相反,JScript 解释器自动将数据类型之一改变(强制转换)为另一种数据类型,然后执行运算。例如:
数值与字符串相加 | 将数值强制转换为字符串。 |
布尔值与字符串相加 | 将布尔值强制转换为字符串。 |
数值与布尔值相加 | 将布尔值强制转换为数值。 |
考虑下面的示例。
var x = 2000; //
一个数字。var y = "Hello"; //
一个字符串。x = x + y; //
将数字强制转换为字符串。document.write(x); //
输出2000Hello
。
要想显式地将字符串转换为整数,使用 parseInt 方法。要想显式地将字符串转换为数字,使用 parseFloat 方法。请注意,比较大小时字符串自动转换为相等的数字,但加法(连接)运算时保留为字符串。