说到数据类型,首先要说一下与数据类型相关的一个特殊操作符 <code>typeof</code> 。鉴于ECMAScript 是松散类型,特意用 <code>typeof</code> 操作符来检测给定变量的数据类型。
var message = " some string " ;
alert ( typeof message ) ; //"string"
alert ( typeof (message) ) ; //"string"
alert ( typeof 95 ) ; //"number"
注意:对于变量,最好要先声明再使用。
- 字符串类型
<code>var carname = "Bill Gates" ;
var carname = 'BIll Gate' ;
</code>
字符串类型可以是引号中的任意文本,可以用单引号也可以用双引号。 - 数字类型
<code>var x1 = 23.00 ;
var x2 = 23 ;
</code>
javascript只有一种数字类型,可以是带小数点,也可以不带。
极大或极小数可以用科学计数法书写。如:
<code>var y = 123e5 ; // 12300000</code> - 布尔类型
只有两种类型:<code>true</code> 或 <code>false</code> ;
<code>var x = true ;
var y = false ;
</code> - 数组类型(Object 类型的一种,在这里先不详细介绍Object类型)
javascript中我认为比较重要的数据类型。
下面代码创建了一个cars的数组:
var cars = new Array() ;
cars[0] = "Audi" ;
cars[1] = "BMW" ;
cars[2] = "Volvo" ;
或者:
<code>var cars = new Array("Audi", "BMW", "Volvo"); </code>
- Undefined 类型
Undefined 类型只有一个特殊的 <code>undefined</code> 值。如使用 <code>var</code> 声明变量但是不对变量进行初始化时,这个变量的值就是 <code>undefined</code> 。例如:
<code>var message ; // message = undefined</code>
特殊地:
var message ; //声明了变量,但是没有初始化,即默认值为undefined;
//下面这个变量没有声明
//var age ;
alert( typeof message ); //"undefined"
alert( typeof age ); //"undefined"
alert( age ); //产生错误
- Null 类型
Null 类型和undefined 类型一样,只有一个值,这个特殊的值为 <code>null</code>。从逻辑角度来看,null 值表示一个空对象指针。 typeof 操作符对 null 值检测会返回 <code>object</code>。
值得注意的是,undefined 值派生于 null 值,因此两者是相等的。
<code>alert( undefined == null ) //true </code>
不过尽管两者的值相等,但是作用是完全不同的。