JavaScript的基本数据类型

来源:互联网 发布:数据分类汇总 编辑:程序博客网 时间:2024/04/26 16:19

一、Javascript是区分大小写的,即变量名gongfei与Gongfei分别表示两个不同的变量。Javascript中的一切(变量、函数名和操作符)都区分大小写。

二、标识符

         1、第一个字符必须是一个字母、下划线(_)或者美元符号($);

         2、其他字符可以是字母、下划线、美元符号或者数字。

三、基本数据类型

         Javascript中有 5 种基本数据类型:Undefined、Null、Boolean、Number和String。还有一种复杂数据类型——Object。可以用typeof 操作符对变量的数据类型进行检测。对一个值使用typeof操作符可能返回下列某个字符串:

         if值未定义:        return “undefined”;

         值为布尔值:        return “boolean”;

         值为字符串:        return “string”;

         值为数值:          return “number”;

         值是对象或者Null:  return “object”;

         值为函数:          return “function”

示例:

         var a = “helloworld”;

         alert(typeof a);   //”string”

         alert(typeof (a) );  //”string”

Warning:typeof是一个操作符而不是函数,因此上例中的圆括号并不是必需的。

1、Undefined类型

         Undefined类型只有一个特殊的值:undefined。当用var声明变量但未对其进行初始化时,这个变量的值就是undefined。未初始化的变量默认值就为undefined。

         var gongfei;

         alert(gongfei == undefined);  //true

不过,包含undefined值的变量与尚未定义的变量还是不一样的。示例:

         var gongfei;  //声明后缺省为undefined

         var ducai    //(没有分号)该变量没有声明

         alert(gongfei); //” undefined”

         alert(ducai) //产生错误

上例结果产生的原因是对于尚未声明过的变量,只能执行一项操作,即用typeof操作符进行数据类型检测。我们对上例变量执行typeof操作符:

         alert(typeof gongfei);   //” undefined”

         alert(typeof ducai);    //” undefined”

         结果表明,对未初始化和未声明的变量执行typeof操作符都返回undefined,有点令人困惑,但这个结果有其逻辑上的合理性。从技术角度看两种变量存在本质区别,但实际上两种变量都不能执行真正的操作。

2、Null类型

         Null类型只有一个特殊的值:null。从逻辑角度看,null值表示一个空对象指针,所以对null值执行typeof操作符才会返回“object”。If定义的变量准备用于保存对象,最好将该变量初始化为null而不是其他值。

         实际上,undefined值派生自null值,所以有下面的结果:

         Alert( null == undefined);  //true

3.Boolean类型

         该类型只有两个字面值:true和false。这两个值与字面值不是一回事,因此true不一定等于1,而false不一定等于0。

4.Number类型

4.1  NaN

NaN非数值(Not a Number)是一个特殊的数值,用来表示本来要返回数值的操纵数未返回数值的情况(这样就不会抛出错误了)。在Javascript中,任何数值除以0会返回NaN。

NaN有两个非同寻常的特点
         1)任何涉及NaN的操作(如NaN/10)都会返回NaN,这在多步计算中有可能导致问题。

2)NaN与任何值都不相等,包括NaN自身。即

alert(NaN == NaN);   //false,有点意思,让俺想起了西游记里的真假美猴王

4.2数值转换

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

Number( )函数的转换规则如下:

ü  Boolean值true和false分别被转换为1和0;

ü  数字值则简单的传入和返回;

ü  null值返回0;

ü  若是undefined,返回NaN;

ü  对于对象,调用valueof()方法,然后依据上面规则转换返回的值。若转换结果为NaN,则调用对象的toString()方法,然后依据上面规则转换返回的值。

ü  对于字符串的转换规则比较复杂,在此不赘述。

5.String类型

         String类型用于表示由零或多个16位Unicode字符组成的字符序列。字符串可以由双引号(”)或单引号(’)表示。

         Javascript中的字符串是不可变的,即字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再另一个包含新值的字符串填充该变量。

         var dog = “gongfei”;

         dog = dog + “ducai”;

上面两句代码,第二行把dog的值重新定义为”gongfei”与”ducai”的组合,即”gongfeiducai”。实现这一操作的过程如下:

         new:    创建一个能容纳12个字符的字符串;

         assign:  在新建的字符串中填充”gongfei”与”ducai”;

         destroy: 销毁原来的字符串”gongfei”与”ducai”。

0 0