JScript数据类型
Jscript 有三种主要数据类型 两种复合数据类型和两种特殊数据类型
主要(基本)数据类型是
字符串 数值 布尔 复合(引用)数据类型是
对象 数组 特殊数据类型是
Null Undefined 字符串数据类型 一个字符串值是排在一起的一串零或零以上的 Unicode 字符(字母 数字和标点符号) 字符串数据类型用来表示 JScript 中的文本 脚本中可以包含字符串文字 这些字符串文字放在一对匹配的的单引号或双引号中 字符串中可以包含双引号 该双引号两边需加单引号 也可以包含单引号 该单引号两边需加双引号 下面是字符串的示例
Happy am I; from care I m free! Avast ye lubbers! roared the technician c 请注意 JScript 中没有表示单个字符的类型 要表示 Jscript 中的单个字符 应创建一个只包含一个字符的字符串 包含零个字符( )的字符串是空(零长度)字符串
数值数据类型 在 Jscript 中整数和浮点值没有差别 JScript 数值可以是其中任意一种(JScript 内部将所有的数值表示为浮点值)
整型值 整型值可以是正整数 负整数和 可以用 进制 进制和 进制来表示 在 Jscript 中大多数字是用十进制表示的 加前缀 表示 进制的整型值 只能包含 到 的数字 前缀为 同时包含数字 或 的数被解释为十进制数
加前缀 x (零和x|X)表示 进制整型值 可以包含数字 到 以及字母 A 到 F(大写或小写) 使用字母 A 到 F 表示十进制 到 的单个数字 就是说 xF 与 相等 同时 x 等于
八进制和十六进制数可以为负 但不能有小数位 同时不能以科学计数法(指数)表示
浮点值 浮点值为带小数部分的数 也可以用科学计数法来表示 这就是说 大写或小写 e 用来表示 的次方 Jscript用数值表示的八字节 IEEE 浮点标准 这意味着数字最大可以到 ± x 最小到 ± x 以 开始且包含小数点的数字被解释为小数浮点数
注意以 x 或 开始并包含小数点的数将发生错误 以下是 Jscript 中数字的例子
数字 描述 等价十进制数 e e 四个相等的浮点数 e 浮点数 整数 整数 虽然看起来是八进制数(以 开头) 但是 不是有效的八进制数字 所以为十进制数 八进制整数 注意它虽然看起来比上面的数只小 但实际数值有很大不同 浮点数 虽然以零开头 但由于带有小数点所以不是八进制数 错误 两个零开头表示为八进制 但八进制数不能带有小数部分 N/A (编译错误) Xff 十六进制整数 x CF 十六进制整数 x e 十六进制整数 注意 e 并不被认为指数 x e 错误 十六进制数不能有小数部分 N/A (编译错误)
另外 Jscript 包含特殊值数字 它们是
NaN (不是数) 当对不适当的数据进行数学运算时使用 例如字符串或未定义值 正无穷大 在 Jscript 中如果一个正数太大的话使用它来表示 负无穷大 在 Jscript 中如果一个负数太大的话使用它来表示 正 和负 Jscript 区分正 和负 Boolean 数据类型 尽管字符串和数字类型可以有无数不同的值 Boolean 数据类型却只有两个值 它们是文字 true 和 false Boolean 值是一个真值 它表示一个状态的有效性(说明该状态为真或假)
脚本中的比较通常得到一个 Boolean 结果 考虑下一行 Jscript 代码
y = (x == ); 这里要比较变量 x 的值是否与数字 相等 如果相等 比较的结果为 Boolean 值 true 并将其赋给变量 y 如果 x 与 不等 则比较的结果为 Boolean 值false
Boolean 值在结构控制中尤其有用 可以将直接创建 Boolean 值的比较与用使用该 Boolean 值的语句相组合 考虑下面的 Jscript 代码范例
if (x == ) z = z + ; else x = x + ; 当 Boolean 值为 true 时 Jscript 中的 if/else 语句执行一个操作(这样 z = z + ) 而当 Boolean 值为 false 时执行另一个操作(x = x + )
可以使用任意表达式作比较表达式 任何值为 null 未定义或空字符串的表达式被解释为 false 其他任意值的表达式解释为 true 例如 可以使用如下表达式
if (x = y + z) // 这可能不是想要的结果 – 如下! 注意上面的代码并不检查 x 是否与 y+z 相等 因为仅使用了一个等号(赋值) 相反的 上面的代码将 y+z 赋给变量 x 然后检查整个表达式的值是否为零 要检查 x 是否与 y+z 相等 使用如下代码
if (x == y + z) // 这与上面的代码不同! 有关比较的详细信息 请参见控制程序的流程
Null 数据类型 在 Jscript 中数据类型 null 只有一个值 null 关键字 null 不能用作函数或变量的名称
包含 null 的变量包含 无值 或 无对象 换句话说 该变量没有保存有效的数 字符串 Boolean 数组或对象 可以通过给一个变量赋 null 值来清除变量的内容
请注意 在 Jscript 中 null 与 不相等(与在 C 和 C++ 中不同) 同时应该指出的是 Jscript中 typeof 运算符将报告 null 值为 Object 类型 而非类型 null 这点潜在的混淆是为了向下兼容
Undefined 数据类型 如下情况使返回 undefined 值
对象属性不存在 声明了变量但从未赋值 注意不能通过与 undefined 做比较来测试一个变量是否存在 虽然可以检查它的类型是否为 undefined 在以下的代码范例中 假设程序员想测试是否已经声明变量 x
// 这种方法不起作用 if (x == undefined) // 作某些操作
// 这个方法同样不起作用 必须检查 // 字符串 undefined if (typeof(x) == undefined) // 作某些操作
// 这个方法有效 if (typeof(x) == undefined ) // 作某些操作 考虑将 undefined 值与null做比较
someObject prop == null; 如下情况时 比较的结果为 true
如果属性 someObject prop 包含 null 值 如果属性 someObject prop 不存在 要检查一个对象属性是否存在 可以使用新的 in 运算符
lishixinzhi/Article/program/Java/JSP/201311/19491