JScript 数据类型

js|jscript|数据|数据类型

  Jscript 有三种主要数据类型、两种复合数据类型和两种特殊数据类型。

  主要(基本)数据类型是:

  字符串
  数值
  布尔
  复合(引用)数据类型是:

  对象
  数组
  特殊数据类型是:

  Null
  Undefined
  字符串数据类型
  一个字符串值是排在一起的一串零或零以上的 Unicode 字符(字母、数字和标点符号)。字符串数据类型用来表示 JScript 中的文本。脚本中可以包含字符串文字,这些字符串文字放在一对匹配的的单引号或双引号中。字符串中可以包含双引号,该双引号两边需加单引号,也可以包含单引号,该单引号两边需加双引号。下面是字符串的示例:

  "Happy am I; from care I’m free!"
  "Avast, ye lubbers!" roared the technician.
  "42"
  c
  请注意,JScript 中没有表示单个字符的类型。要表示 Jscript 中的单个字符,应创建一个只包含一个字符的字符串。包含零个字符("")的字符串是空(零长度)字符串。

  数值数据类型
  在 Jscript 中整数和浮点值没有差别;JScript 数值可以是其中任意一种(JScript 内部将所有的数值表示为浮点值)。

  整型值
  整型值可以是正整数,负整数和 0。可以用 10 进制,8 进制和 16 进制来表示。在 Jscript 中大多数字是用十进制表示的。加前缀“0”表示 8 进制的整型值,只能包含 0 到 7 的数字。前缀为“0”同时包含数字“8”或“9”的数被解释为十进制数。

  加前缀“0x”(零和x|X)表示 16 进制整型值。可以包含数字 0 到 9,以及字母 A 到 F(大写或小写)。使用字母 A 到 F 表示十进制 10 到 15 的单个数字。就是说 0xF 与 15 相等,同时 0x10 等于 16。

  八进制和十六进制数可以为负,但不能有小数位,同时不能以科学计数法(指数)表示。

  浮点值
  浮点值为带小数部分的数。也可以用科学计数法来表示。这就是说,大写或小写“e”用来表示 10 的次方。Jscript用数值表示的八字节 IEEE754 浮点标准。这意味着数字最大可以到 ±1.7976931348623157x10308,最小到 ±5x10-324。以“0”开始且包含小数点的数字被解释为小数浮点数。

  注意以“0x”或“00”开始并包含小数点的数将发生错误。以下是 Jscript 中数字的例子。

  数字 描述 等价十进制数
  .0001, 0.0001, 1e-4, 1.0e-4 四个相等的浮点数。 0.0001
  3.45e2 浮点数。 345
  42 整数。 42
  0378 整数。虽然看起来是八进制数(以 0 开头),但是 8 不是有效的八进制数字,所以为十进制数。 378
  0377 八进制整数。注意它虽然看起来比上面的数只小 1,但实际数值有很大不同。 255
  0.0001 浮点数。虽然以零开头,但由于带有小数点所以不是八进制数。 0.0001
  00.0001 错误。两个零开头表示为八进制,但八进制数不能带有小数部分。 N/A (编译错误)
  0Xff 十六进制整数。 255
  0x37CF 十六进制整数。 14287
  0x3e7 十六进制整数。注意‘e’并不被认为指数。 999
  0x3.45e2 错误。十六进制数不能有小数部分。 N/A (编译错误)

  另外,Jscript 包含特殊值数字。它们是:

  NaN (不是数)。当对不适当的数据进行数学运算时使用,例如字符串或未定义值。
  正无穷大。在 Jscript 中如果一个正数太大的话使用它来表示。
  负无穷大。在 Jscript 中如果一个负数太大的话使用它来表示。
  正 0 和负 0。Jscript 区分正 0 和负 0。
  Boolean 数据类型
  尽管字符串和数字类型可以有无数不同的值,Boolean 数据类型却只有两个值。它们是文字 true 和 false。Boolean 值是一个真值,它表示一个状态的有效性(说明该状态为真或假)。

  脚本中的比较通常得到一个 Boolean 结果。考虑下一行 Jscript 代码。

  y = (x == 2000);
  这里要比较变量 x 的值是否与数字 2000 相等。如果相等,比较的结果为 Boolean 值 true,并将其赋给变量 y。如果 x 与 2000 不等,则比较的结果为 Boolean 值false。

  Boolean 值在结构控制中尤其有用。可以将直接创建 Boolean 值的比较与用使用该 Boolean 值的语句相组合。考虑下面的 Jscript 代码范例。

  if (x == 2000)
   z = z + 1;
  else
   x = x + 1;
  当 Boolean 值为 true 时,Jscript 中的 if/else 语句执行一个操作(这样,z = z + 1),而当 Boolean 值为 false 时执行另一个操作(x = x + 1)。

  可以使用任意表达式作比较表达式。任何值为 0、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 与 0 不相等(与在 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 运算符:

  if ("prop" in someObject)
   // someObject 有属性 prop

时间: 2024-10-27 23:26:01

JScript 数据类型的相关文章

ASP 3.0高级编程(七)

编程|高级 (4) 删除虚拟应用程序单击"Remove"按钮不会真正地删除Internet Services Manager中的该条目.而是把现有的虚拟应用程序转换为一个虚拟目录.这个目录有一个带有蓝色球的"文件夹"图标,该图标表示这并不是Web网站中一个真正的目录,而是对磁盘上另一个文件夹的一个重定向.对它进行的访问方式与创建它的虚拟应用程序相同(即使用相同的URL),但是不作为一个应用程序.换句话说,它不支持自己的Application对象,而是继承缺省Web网

Web应用程序的定义

web|程序      前面的章节中已经多次使用过Web应用程序(Web Application)术语,所指的既不是一个真正意义上的Web网站,又不是一个传统的应用程序.换句话说,而是认为它是一些Web网页和用来完成某些任务的其他资源的一个集合.它隐含这样一层意思:有一个预定义的路线贯穿于网页之中,用户可做出选择或提供信息使任务能够完成.      例如,一个在线商店,你为了购买货物,进行反复的观察和选择,浏览一系列网页,收集所需要的信息,支付相应的费用,最后发出定单.也可能是一个"软件升级向导

JScript 的数据类型

js|jscript|数据|数据类型 Jscript 有三种主要数据类型.两种复合数据类型和两种特殊数据类型. 主要(基本)数据类型是: 字符串 数值 布尔 复合(引用)数据类型是: 对象 数组 特殊数据类型是: Null Undefined 字符串数据类型 一个字符串值是排在一起的一串零或零以上的 Unicode 字符(字母.数字和标点符号).字符串数据类型用来表示 JScript 中的文本.脚本中可以包含字符串文字,这些字符串文字放在一对匹配的的单引号或双引号中.字符串中可以包含双引号,该双

JScript 字母顺序的关键字列表

js|jscript|关键字 描述 语言要素 返回在模式匹配中找到的最近的九条记录. $1...$9 属性 返回一个数的绝对值. abs 方法 返回一个数的反余弦. acos 方法 启用并返回一个 Automation 对象的引用. ActiveXObject 对象 将两个数相加或连接两个字符串. 加法运算符(+) 在对象的指定文本两端加上一个带 NAME 属性的 HTML 锚点. anchor 方法 返回一个包含传递给当前执行函数的每个参数的数组. arguments 属性 提供对创建任何数据

JScript 运算符优先级

js|jscript|运算 JScript 中的运算符优先级是一套规则.该规则在计算表达式时控制运算符执行的顺序.具有较高优先级的运算符先于较低优先级的运算符执行.例如,乘法的执行先于加法. 下表按从最高到最低的优先级列出 JScript 运算符.具有相同优先级的运算符按从左至右的顺序求值. 运算符 描述 . [] () 字段访问.数组下标.函数调用以及表达式分组 ++ - - ~ ! delete new typeof void 一元运算符.返回数据类型.对象创建.未定义值 * / % 乘法.

使用JScript 的变量

js|jscript|变量 任何编程语言中,用一块数据量化一个概念. How old are You? 在 Jscript 中,变量是给概念的名称:它代表了给出瞬间的值.当使用该变量时,实际是用的它所代表的数据.给出示例: NumberOfDaysLeft = EndDate – TodaysDate; 机械的理解是使用变量来存储.得到并操作脚本中出现的所有的不同值.创建有意义的变量名称:便于别人理解脚本. 变量声明 变量在脚本中的第一次出现是在声明中.变量在第一次用到时就设置于内存中,便于后来

什么是 JScript?

js|jscript   JScript 是 Microsoft 公司对 ECMA 262 语言规范(ECMAScript 编辑器 3)的一种实现.除了少数例外(为了保持向后兼容),JScript 完全实现了 ECMA 标准.本概述的目的就是引导您学习使用 JScript. 使用 JScript JScript 是一种解释型的.基于对象的脚本语言.尽管与 C++ 这样成熟的面向对象的语言相比,JScript 的功能要弱一些,但对于它的预期用途而言,JScript 的功能已经足够大了. JScri

使用VBScript和JScript编写WEB应用程序(二)

js|jscript|vbscript|web|程序 使用VBScript和JScript编写WEB应用程序(二) 我心飞扬 6.数据类型VBScript和JScript的数据类型差别比较大,JScript有6种数据类型:数值型.字符串型.对象型.布尔型.null和undefined.VBScript虽然只有一种数据类型Variant,但其子类型比较丰富.特别是其对数值类型的精细划分使得在进行精确的数值运算时显得比较放心.且配合第2条中所讲到的格式化功能使数据处理更加得心应手.有关这方面的文档请

使用JScript.NET创建asp.net页面(二)

asp.net|js|jscript|创建|页面 为了实现Jscript.net的推断变量类型的功能,你需要遵守以下几条规则!一.    永远声明你的局部变量.这看起来像是显而易见的,但是这是非常重要的,Jscript.net只能推断你的局部变量,而不是全局变量.如果你没有声明它,直接使用,它就将成为全局变量,将不能被优化.二.    仅使用一种数据类型,如果你声明一个数值型变量,却用来储存字符型的数据,Jscript将把该变量定义为generic Object 或 variant.//无法推断