JavaScript 一步一步学 (Javascript的数据类型)

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

三种数据类型为:

  • 字符串
  • 数值
  • 布尔

两种符合数据类型:

  • 对象
  • 数组

两种特殊数据类型:

  • Null
  • Undefined

字符串类型:

"Happy am I; from care I’m free!"

'"Avast, ye lubbers!" roared the technician.'

"42"

'c'

注意字符串中的引号位置,以及用法。

请注意,JScript 中没有表示单个字符的类型(如 C++ 的 char)。要表示 Jscript 中的单个字符,应创建一个只包含一个字符的字符串。包含零个字符("")的字符串是空(零长度)字符串。

数值类型:

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

JScript包含特殊值数字。它们是:

  • NaN (不是数)。当对不适当的数据进行数学运算时使用,例如字符串或未定义值。
  • 正无穷大。在JScript中如果一个正数太大的话使用它来表示。
  • 负无穷大。在JScript中如果一个负数太大的话使用它来表示。
  • 正0和负0。Jscript区分正0和负0。

Boolean数据类型

true | false

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'

你可能感兴趣的:(JavaScript)