JavaScript数据类型

ECMAScript中有五种简单数据类型(基本数据类型):Undefined、Null、Boolean、Number和String。还有一种复杂数据类型:Object。因为ECMAScript数据类型具有动态性,所以这六种数据类型足够表示所有数据。

1、typeof操作符

    ECMAScript是松散类型,可以用typeof来检测给定变量的数据类型。typeof操作符返回字符串。

    "undefined"--表示这个值未定义。            

    "string"--表示这个值是布尔值。

    "number"--表示这个值是数值。

    "boolean"--表示这个值是布尔值。

    "object"--表示这个值是对象或者null。

    "function"--表示这个值是函数。

2、Udefined 类型

    Undefined类型只有一个值,即为undefined。

    在使用var声明变量但未其加以初始化时,这个变量的值就是undefined。

    对于未声明的变量执行typeof操作符同样会返回undefined。

var message;//该变量声明之后默认取得了undefined值。
alert(age);
alert(message);//undefined
alert(age);//undefined

3、Null类型

    Null类型只有一个值,即为null。

    从逻辑角度来看,null值表示一个空对象指针,因此typeof检测null值会返回"object"的原因。

    注意:

alert(null==undefined);//true
alert(null===undefined);//false

4、Boolean类型

    Boolean类型只有两个值,即为true和false。

    数据类型与Boolean之间的转换:

数据类型转换为true的值 转换为false的值
Boolean    true    false
String任何非空字符串""(空字符串)
Number任何非零数值(包括无穷大)0和NaN
Object任何对象null
Undefined undefined

5、Number类型

   Number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后面至少有一位数字)和一个特殊值NaN(not a number)。

    NaN本身有两个非同寻常的特点。首先,任何涉及NaN的操作(NaN/10)都会返回NaN。其次,NaN与任何值都不相等,包括其本身。
alert(NaN==NaN);//false
    isNaN() 函数用于检查其参数是否是非数字值。

    有三个函数可以把非数值转换为数值:Number()、parseInt()、parseFloat()。第一个函数可以用于任何数据类型,而另两个专门用于字符串转换成数值。

    Number()转换规则:

        A.如果是Boolean值,true和false分别转换为1和0。

        B.如果是数字值,只是简单的传入和返回。

        C.如果是null值,返回0。

        D. 如果是字符串,遵循以下规则:

            a.如果只包含数字,将其转换为十进制数值,即"1"转换为1,"011"转换为11(前导零被忽视)。

            b.如果字符串中包含有效的浮点格式,将其转换为对应的浮点数值(前导零被忽视)。

            c.如果字符串中包含有效的十六进制格式,例如"0xf",将其转换为对应的十进制数值。

            d.如果字符串是空的,将其转换为0。

            e.如果包含上述格式之外的字符,将其转换为NaN。

        E.如果是对象,则调用对象的valueOf()方法,然后依照前面的规则转换返回值。如果转换的结果是NaN,则调用对象的toString()方法,然后依照前面的规则转换返回的字符串值。

6、String类型

    String类型用于表示由零个或多个16为Unicode字符组成的字符序列,即字符串。

    ECMAScript中的字符串是不可变的,字符串一旦创建,它们的值就不能改变。

    要把一个值转换为一个字符串有两种方法:toString()和String()。

    String():适用于任何数据类型(null,undefined 转换后为null和undefined)。

    toString():null,defined没有toString()方法。

7、Object类型

    ECMAScript中的对象其实就是一组数据和功能的集合。对象可以执行new操作符后跟要创建的对象类型的名称来创建。



本人正在学习和摸索中,如有错误,欢迎指正!

阅读更多

没有更多推荐了,返回首页