标题: JScript 的变量
问天
元帅
Rank: 1


元帅勋章 终身成就勋章
UID 11493
精华 187
积分 34221
帖子 33355
威望 91
金币 13148
热心 2619
阅读权限 100
注册 2006-4-7
状态 离线
JScript 的变量

任何编程语言中,用一块数据量化一个概念。    How old am I?   
在 Jscript 中,变量是给概念的名称;它代表了给出瞬间的值。当使用该变量时,实际是用的它所代表的数据。给出示例:

   NumberOfDaysLeft = EndDate &;#8211; TodaysDate;  
机械的理解是使用变量来存储、得到并操作脚本中出现的所有的不同值。创建有意义的变量名称;便于别人理解脚本。   
变量声明
变量在脚本中的第一次出现是在声明中。变量在第一次用到时就设置于内存中,便于后来在脚本中引用。使用变量之前先进行声明。可以使用 var 关键字来进行变量声明。    var count;  // 单个声明。
var count, amount, level;  // 用单个 var 关键字声明的多个声明。
var count = 0, amount = 100;  // 一条语句中的变量声明和初始化。


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

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

第一个字符必须是一个 ASCII 字母(大小写均可),或一个下划线(_)。注意第一个字符不能是数字。
后续的字符必须是字母、数字或下划线。
变量名称一定不能是 保留字
下面给出合法变量名称的一些示例:  

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

   99Balloons // 不能以数字开头。
Smith&;amp;Wesson // “与”符号(&;amp;)字符用于变量名称是无效的。   
当要声明一个变量并进行初始化,但又不想指定任何特殊值,可以赋值为 JScript 值 null。下面给出示例。    var bestAge = null;
var muchTooOld = 3 * bestAge; // muchTooOld 的值为 0。  
如果声明了一个变量但没有对其赋值,该变量存在,其值为Jscript 值 undefined。下面给出示例。      var currentCount;
var finalCount = 1 * currentCount; // finalCount 的值为 NaN,因为 currentCount 为 undefined。  
注意在 JScript 中 nullundefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN (不是一个数字)。对 null 值和 undefined 值作比较总是相等的。      
可以不用 var 关键字声明变量,并赋值。这就是隐式声明。      noStringAtAll = ""; // 隐式声明变量 noStringAtAll。   
不能使用未经过声明的变量。

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

   
JScript 是一种自由类型的语言。它的变量没有预定类型(相对于强类型语言,如 C  )。相反,JScript 变量的类型相应于他们包含的值的类型。这种操作的好处是能将值作为另一类型处理。      
在 Jscript 中,可以对不同类型的值执行运算,不必担心 JScript 解释器产生异常。相反,JScript 解释器自动将数据类型之一改变(强制转换)为另一种数据类型,然后执行运算。例如:      



运算
结果

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

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

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

考虑下面的示例。

   var x = 2000;      // 一个数字。
var y = "Hello";   // 一个字符串。
x = x   y;         // 将数字强制转换为字符串。
document.write(x); // 输出 2000Hello。   
要想显式地将字符串转换为整数,使用 parseInt 方法。要想显式地将字符串转换为数字,使用 parseFloat 方法。请注意,比较大小时字符串自动转换为相等的数字,但加法(连接)运算时保留为字符串。

网友 问天 签名 - 网友社区 请您回个帖。谢谢
PR查询 免费域名 免费空间
顶部
[广告] 免费域名(Free Subdomain) 免费空间(Free hosting) PR查询(Google Pagerank)



当前时区 GMT+8, 现在时间是 2008-12-2 18:23
信产部ICP备案:京ICP备05066424号 北京市公安局网监备案:1101050648号

Powered by Discuz! 5.5.0
清除 Cookies - 联系我们 - 网友俱乐部 - Archiver - WAP