javascript数据类型

  javascript数据类型分为基本数据类型和复杂数据类型。基本数据类型又称为原始(不可再分)数据类型。

  基本数据类型:undefined,Null,Boolean,string,Number

  复杂数据类型:object

 

  undefined:只有一个值,就是undefined,表示未定义。var temp; 未经初始化temp默认就是undefined.   声明变量可以不用var(不推荐), 但一定要有初始化值,如下

temp;

alert(temp); //错误,没有初始化,错误显示为temp not is define

正确如下:

var temp;

alert(temp);

temp = undefined;

alert(temp);

 

  Null:也只有一个值,就是null,表示值是空指针。

 

  Boolean:布尔值,只有true和false两种值。下图插至“javascript高级编程第三版”:

 

  Number:数字型,所有数字都是这个类型,包括整形、浮点型和双精度型。注:

关于浮点数值计算会产生舍入误差的问题,有一点需要明确:这是使用基于
IEEE754 数值的浮点计算的通病,ECMAScript 并非独此一家;其他使用相同数值格
式的语言也存在这个问题。

 

  string:字符串型。ECMAScript规定,字符串是不可变的,即一创建,如果要改变其值,必须先销毁原来的值,再用新的值替换到变量里。如:

var lang = "Java";

var lang = lang + "Script";

  第二行中拼接字符串过程:首先创建10个容纳字符串的空间,然后将字符串“JavaScript”填充到lang变量里,最后销毁“Java”和“Script”字符串。这也是为什么低版本浏览器(如IE6)拼接字符串低效率原因,不过现代浏览器已经解决了这种低效率问题。

 

  NaN:非数值,是一种特殊的类型。可以用isNaN判断是否非数值。

 

 

  关于数值转换,可以用Number函数转换,也可以用对应的parse进行转换,如转换为整形parseInt,浮点型parseFloat。

Number("abc"); //返回NaN

parseInt("12abc");//返回12

parseInt("a12abc");//返回NaN

 

  object:对象类型,表示一组数据和功能的集合。使用语法:

var o = new Object();

  下图表示所有对象都支持的方法:(摘自javascript高级编程第3版)

  

 

  typeof:用于返回一个对象(变量)或值的类型,如

typeof("abc"); //返回string字符串

typeof(1);//返回number字符串

typeof true;//返回boolean字符串

  如果是参数是对象,则会调用对象的valueOf来取值,如果未定义该方法,则调用toString方法。

 

  关于==与===区别:==表示对左右两对象进行引用比较,===表示对左右两对象进行全比较(包括类型比较).  如:1 == "1", 先会把"1"转换为数值,再进行比较,结果为true。1 === "1"则为false,因为并没对数据类型进行转换。

 

posted @ 2015-08-05 13:37  司马逍遥  阅读(99)  评论(0)    收藏  举报