JScript 变量


任何编程语言中,用一块数据量化一个概念。

  HowoldamI?

  在Jscript中,变量是给概念的名称;它代表了给出瞬间的值。当使用该变量时,实际是用的它所代表的数据。给出示例:

  NumberOfDaysLeft=EndDate–TodaysDate;

  机械的理解是使用变量来存储、得到并操作脚本中出现的所有的不同值。创建有意义的变量名称;便于别人理解脚本。

  变量声明

  变量在脚本中的第一次出现是在声明中。变量在第一次用到时就设置于内存中,便于后来在脚本中引用。使用变量之前先进行声明。可以使用var关键字来进行变量声明。

  varcount; //单个声明。

  varcount,amount,level; //用单个var关键字声明的多个声明。

  varcount=0,amount=100; //一条语句中的变量声明和初始化。

  如果在var语句中没有初始化变量,变量自动取JScript值undefined。尽管并不安全,但声明语句中忽略var关键字是合法的JScript语法。这时,JScript解释器给予变量全局范围的可见度。当在过程级中声明一个变量时,它不能用于全局范围;这种情况下,变量声明必须用var关键字。

  变量命名

  变量名称是一个标识符。Jscript中,用标识符来:

  命名变量,

  命名函数,

  给出循环的标签。

  JScript是一种区分大小写的语言。因此变量名称myCounter和变量名称mYCounter是不一样的。变量的名称可以是任意长度。创建合法的变量名称应遵循如下规则:

  第一个字符必须是一个ASCII字母(大小写均可),或一个下划线(_)。注意第一个字符不能是数字。

  后续的字符必须是字母、数字或下划线。

  变量名称一定不能是保留字。

  下面给出合法变量名称的一些示例:

  _pagecount

  Part9

  Number_Items

  下面给出无效变量名称的一些示例:

  99Balloons//不能以数字开头。

  Smith&Wesson//“与”符号(&)字符用于变量名称是无效的。

  当要声明一个变量并进行初始化,但又不想指定任何特殊值,可以赋值为JScript值null。下面给出示例。

  varbestAge=null;

  varmuchTooOld=3*bestAge;//muchTooOld的值为0。

  如果声明了一个变量但没有对其赋值,该变量存在,其值为未定义的Jscript值。下面给出示例。

  varcurrentCount;

  varfinalCount=1*currentCount;//finalCount的值为NaN,因为currentCount为undefined。

  注意在JScript中null和undefined的主要区别是null的操作象数字0,而undefined的操作象特殊值NaN(不是一个数字)。对null值和undefined值作比较总是相等的。

  可以不用var关键字声明变量,并赋值。这就是隐式声明。

  noStringAtAll="";//隐式声明变量noStringAtAll。

  不能使用未经过声明的变量。

  varvolume=length*width;//错误—length和width并不存在。

  强制转换

  表达式中操作项的数据类型相同时JScript解释器才能对其求值。如果表达式不经过强制转换就试图对两个不同的数据类型(如一个为数字,另一个为字符串)执行运算,将产生错误结果。但在Jscript中情况就不同了。

  JScript是一种自由类型的语言。它的变量没有预定类型(相对于强类型语言,如C++)。相反,JScript变量的类型相应于他们包含的值的类型。这种操作的好处是能将值作为另一类型处理。

  在Jscript中,可以对不同类型的值执行运算,不必担心JScript解释器产生异常。相反,JScript解释器自动将数据类型之一改变(强制转换)为另一种数据类型,然后执行运算。例如:

  运算                  以继日结果

  数值与字符串相加       将数值强制转换为字符串。

  布尔值与字符串相加      将布尔值强制转换为字符串。

  数值与布尔值相加       将布尔值强制转换为数值。

  考虑下面的示例。

  varx=2000;   //一个数字。

  vary="Hello"; //一个字符串。

  x=x+y;    //将数字强制转换为字符串。

  document.write(x);//输出2000Hello。

  要想显式地将字符串转换为整数,使用parseInt方法。要想显式地将字符串转换为数字,使用parseFloat方法。请注意,比较大小时字符串自动转换为相等的数字,但加法(连接)运算时保留为字符串

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3