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,因为并没对数据类型进行转换。
浙公网安备 33010602011771号