您的位置:首页 > Web前端 > JavaScript

JavaScript数据类型详解

2016-08-15 14:38 447 查看
JavaScript中有5种简单的数据类型(基本数据类型):Undefined、Null、Boolean、Number和String。还有一种复杂数据类型——Object,Object本质是由一组无序的明值对组成的。JavaScript不支持任何创建自定义类型的机制,而所有值最终都是上述6种之一(JavaScript数据类型具有动态性)。

检测给定变量的数据类型——typeof。使用方法:(typeof是一个操作符而不是函数,所以括号可以使用,但不必要)

var message=”abc”;
alert(typeof message);//"string"

alert(typeof (message));//"string"
alert(typeof 99);//"number"

“undefined”——这个值未定义;

“boolean”——布尔值;

“string”——字符串;

“number”——数值;

“object”——对象或null;(null被认为是一个空的对象引用)

“function”——函数。

(1)Undefined类型

使用var声明变量但未对其初始化:

var message;
alert(message);//"undefined"
 

但声明变量未对其初始化和未声明变量还是不同

var message;
//var message1;
alert(message);//"undefined"
alert(message1);//产生错误
//"Uncaught ReferenceError: message1is not defined"
但对于使用typeof检测其属性时,未声明的依旧会显示undefined;

var message;
//var message1;
alert(typeof message);//"undefined"
alert(typeof message1);//"undefined"
(2)Null类型

从逻辑上看,null值表示一个空对象指针,所以这就是使用typeof操作符检测null会返回“Object”的原因。

var car;
alert(typeof car);//"object"
对于定义变量未来准备用于保存为对象,最好将其初始化为null,以后只需检查null就可知道是否有相应的变量保存对象引用。

实际使用时,undefined值是派生自null值,所以存在两者相比返回true。

alert(null == undefined);//true
alert(null === undefined);//true
(3)Boolean类型

该类型只有两个字面值:true和false。所以,True和False都不是Boolean值,只是标识符。虽然只有两个值,但所有数据类型都可转换成Boolean类型,只需调用Boolean()转型函数。

var message="abc";
var message_type=Boolean(message);
alert(message_type);//true
下表给出各类数据类型转换规则:

数据类型

转换为true

转换为false

Boolean

true

false

String

任意字符串

“”空字符串

Number

任意非零数(包括无穷)

0和NaN

Object

任何对象

null

Undefined



Undefined

(4)Number类型

由于内存限制,数值所能表达的最小值存在Number.MIN_VALUE中,为5e-324;最大值Number.MAX_VALUE,为1.7976931348623157e+308。若超过最大值,自动转换为Indinity值。Infinity不能参加运算。

NaN,即非数值(Not a Number)是一个特殊的数值,用于表示本应返回数值的操作数未返回数值的情况(避免抛出错)。例如:0/0会返回NaN,但正数/0返回Infinity,负数返回-Indinity。

定义了几个函数isNaN()(返回Boolean类型,判断是否是数值,是返回false),Number()(数值转换),parseInt()(返整数),parseFloat()。

Number():true——1;1——1;null——0;undefined——NaN;字符串只包含数值直接转换(空为0,八进制直接忽略,十六进制转换十进制后显示);

parseInt():“123bad”——123;“”——NaN;“0xA”——10;10.5——10;“070”——56(版本不同会有歧义js3为56,js5为70).

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript 数据类型