Jscript 有三U主要数据类型、两U复合数据类型和两种Ҏ数据cd?/font>
主要Q基本)数据cd是:
复合Q引用)数据cd是:
Ҏ数据cd是:
一个字W串值是排在一L一串零或零以上?Unicode 字符Q字母、数字和标点W号Q。字W串数据cd用来表示 JScript 中的文本。脚本中可以包含字符串文字,q些字符串文字放在一对匹配的的单引号或双引号中。字W串中可以包含双引号Q该双引号两辚w加单引号Q也可以包含单引P该单引号两边需加双引号。下面是字符串的CZQ?/font>
"Happy am I; from care I’m free!"
'"Avast, ye lubbers!" roared the technician.'
"42"
'c'
h意,JScript 中没有表C单个字W的cdQ如 C++ ?charQ。要表示 Jscript 中的单个字符Q应创徏一个只包含一个字W的字符丌Ӏ包含零个字W(""Q的字符串是I(雉度)字符丌Ӏ?/font>
?Jscript 中整数和点值没有差别;JScript 数值可以是其中L一U(JScript 内部所有的数DCZؓ点?/font>Q?/font>
整型值可以是正整敎ͼ负整数和 0。可以用 10 q制Q? q制?16 q制来表C。在 Jscript 中大多数字是用十q制表示的。加前缀?”表C?8 q制的整型|只能包含 0 ?7 的数字。前~为?”同时包含数字?”或?”的数被解释为十q制数?
加前~?x”(零和x|XQ表C?16 q制整型倹{可以包含数?0 ?9Q以及字?A ?FQ大写或写Q。用字?A ?F 表示十进?10 ?15 的单个数字。就是说 0xF ?15 相等Q同?0x10 {于 16?/font>
八进制和十六q制数可以ؓ负,但不能有数位,同时不能以科学计数法Q指敎ͼ表示?/font>
点gؓ带小数部分的数。也可以用科学计数法来表C。这是_大写或小写“e”用来表C?10 的次斏VJscript用数DC的八字?IEEE754 点标准。这意味着数字最大可以到u1.7976931348623157x10308Q最到u5x10-324。以?”开始且包含数点的数字被解释ؓ数点数?/font>
注意以?x”或?0”开始ƈ包含数点的数将发生错误。以下是 Jscript 中数字的例子?/font>
数字 | 描述 | {h十进制数 |
---|---|---|
.0001, 0.0001, 1e-4, 1.0e-4 | 四个相等的QҎ?/font> | 0.0001 |
3.45e2 | 点数?/font> | 345 |
42 | 整数?/font> | 42 |
0378 | 整数。虽然看h是八q制敎ͼ?开_Q但?不是有效的八q制数字Q所以ؓ十进制数?/font> | 378 |
0377 | 八进制整数。注意它虽然看v来比上面的数只小1Q但实际数值有很大不同?/font> | 255 |
0.0001 | 点数。虽然以零开_但由于带有小数点所以不是八q制数?/font> | 0.0001 |
00.0001 | 错误。两个零开头表CZؓ八进Ӟ但八q制C能带有小数部分?/font> | N/A Q编译错误) |
0Xff | 十六q制整数?/font> | 255 |
0x37CF | 十六q制整数?/font> | 14287 |
0x3e7 | 十六q制整数。注意‘e’ƈ不被认ؓ指数?/font> | 999 |
0x3.45e2 | 错误。十六进制数不能有小数部分?/font> | N/A Q编译错误) |
另外QJScript包含Ҏ值数字。它们是Q?
管字符串和数字cd可以有无C同的|boolean 数据cd却只有两个倹{它们是文字 true ?false。Boolean值是一个真|它表CZ个状态的有效性(说明该状态ؓ真或假)?/font>
脚本中的比较通常得到一?Boolean l果。考虑下一?Jscript 代码?/font>
y = (x == 2000);
q里要比较变?x 的值是否与数字 2000 相等。如果相{,比较的结果ؓ Boolean ?trueQƈ其赋给变量 y。如果x?000不等Q则比较的结果ؓboolean?b>false?/font>
Boolean值在l构控制中尤其有用。可以将直接创徏 boolean 值的比较与用使用?boolean 值的语句相组合。考虑下面的JScript代码范例?/font>
if (x == 2000)
z = z + 1;
else
x = x + 1;
?boolean gؓ true ӞJscript 中的 if/else 语句执行一个操作(q样Qz = z + 1Q,而当 boolean gؓ false 时执行另一个操作(x = x + 1Q?/font>
可以使用L表达式作比较表达式。Q何gؓ0、null、未定义或空字符串的表达式被解释?false。其他Q意值的表达式解释ؓ true。例如,可以使用如下表达式:
if (x = y + z) //
q可能不是想要的l果?
如下Q?/font>
注意上面的代码ƈ不检?x 是否?y+z 相等Q因Z使用了一个等P赋|。相反的Q上面的代码?y+z 赋给变量 xQ然后检查整个表辑ּ的值是否ؓ零。要?x 是否?y+z 相等Q用如下代码?/font>
if (x == y + z) //
q与上面的代码不同!
?Jscript 中数据类?null 只有一个|null。关键字 null 不能用作函数或变量的名称?/font>
包含 null 的变量包含“无值”或“无对象”。换句话_该变量没有保存有效的数、字W串、boolean、数l或对象。可以通过l一个变量赋 null 值来清除变量的内宏V?/font>
h意,?Jscript 中,null ?0 不相{(与在 C ?C++ 中不同)。同时应该指出的是,Jscript?typeof q算W将报告 null gؓ Object cdQ而非cd null。这Ҏ在的h是ؓ了向下兼宏V?/font>
如下情况使返?undefined |
注意不能通过?undefined 做比较来试一个变量是否存在,虽然可以查它的类型是否ؓ“undefined”。在以下的代码范例中Q假讄序员x试是否已l声明变?x Q?/font>
//
q种Ҏ不v作用if (x == undefined)
//
作某些操?//
q个Ҏ同样不v作用-
必须?//
字符?code> "undefined"if (typeof(x) == undefined)
//
作某些操?//
q个Ҏ有效if (typeof(x) == "undefined")
//
作某些操?/font>
考虑?undefined gnull做比较?/font>
someObject.prop == null;
如下情况Ӟ比较的结果ؓ trueQ?
if ("prop" in someObject) // someObject
有属?/font>'prop'
q算W?/font>
JScript h全范围的q算W?包括术、逻辑、位、赋g及其他某些运符?/font>
计算 逻辑 位运?/font> 赋?/font> 杂项 描述 W号 描述 W号 描述 W号 描述 W号 描述 W号 负?/font> - 逻辑?/font> ! 按位取反 ~ 赋?/font> = 删除 delete 递增 ++ 于 < 按位左移 << q算赋?/font> oP= typeof q算W?/font> typeof 递减 -- 大于 > 按位右移 >> void void 乘法 * 于{于 <= 无符号右U?/font> >>> instanceof instanceof 除法 / 大于{于 >= 按位?/font> & new new 取模q算 % {于 == 按位异或 ^ in in 加法 + 不等?/font> != 按位?/font> | 减法 - 逻辑?/font> && 逻辑?/font> || 条gQ三元运符Q?/font> ?: 逗号 , 严格相等 === 非严格相{?/font> !==