JS基本类型特性总结

本文代码测试环境: win7 32位,chrome 版本如下:

image

一,JS基本数据类型:Undefined, Null, Boolean, Number, String, Object六种。

1,Undefined:: 该类型只有一个值:undefined.

1) 一个变量声明但未初始化,值就是 undefined,注意大小写。

e.g:

var msg;

alert(msg); //undefined

2) 一个变量未声明,直接使用会报错,

e.g::

alert(newMsg); //Uncaught ReferenceError: newMsg is not defined

注意:它们调用 typeof 都返回 undefined.

2,Null:该类型只有一个值:null,它是一个空对象指针。

1) typeof(null) 会返回 "object"

2) undefined是从null继承,所以 alert(null == undefined) 返回true.

3,Boolean:只有两个值:true, false 注意全是小写。

内置函数:Boolean() :将指定值转换成布尔值。转换规则以示例给出:

1)Boolean(null); // false

2) Boolean(""); // false Boolean("hello,world"); //true

3) Boolean(undefined); // false

4) Boolean(0); // false Boolean(1);//true Boolean(071); //8进制,true

4,Number: 数值型,包括整型和浮点型。

内置函数:Number(), parseInt(), parseFloat(). isFinite(); isNaN();

其中 parseInt()用于将字符串转换为整型,并可以指定进制。parseFloat()仅针对十进制进行转换。

例子:

1)parseInt(011); // 9,自动识别为8进制,并转换为10进制。

parseInt(11, 8); // 9 ,指定11为8进制数,然后转换为10进制。

parseInt("af", 16); 或 parseInt("0xaf"); // 175 ,都是16进制。

parseInt("af"); // NaN,注意,NaN也是Number类型,typeof 返回 number。

alert(NaN == NaN); //false,NaN和任何值都不相等。

alert(10/0);// Infinity。无穷大。

alert(Number.MAX_VALUE); //最大值, 1.797E308

alert(Number.NEGATIVE_INFINITY);// -infinity 负无穷大。

ifFinite(10/0); // false,说明不是有穷的。

var a=0.1, b =0.2; alert(a+b); //0.300000000000004

alert(a+b == 0.3); // false,浮点计算的误差,基于IEEE754的浮点计算都有此问题。

5,String 类型:

内置函数:toString();

e.g:

1) alert("abc" == "abc"); // true

2) alert("hello".length);

3)var msg; alert(msg.toString()); //报错,不能在undefined上调用toString()

4) var obj=null; alert(obj); //null

5) var num=10; alert(num.toString(2)); //1010,转换成二进制输出。

6,Object类型:

内置函数和属性:

constructor(); hasOwnProperty(pName); isPrototypeOf(pVal); propertyIsEnumerable(pName); toString(); valueOf();

posted @ 2013-10-13 15:45  imap  阅读(336)  评论(0编辑  收藏  举报