JavaScript数据类型详解

JavaScript中有5种简单的数据类型(基本数据类型):UndefinedNullBooleanNumberString。还有一种复杂数据类型——ObjectObject本质是由一组无序的明值对组成的。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类型

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

var message="abc";

var message_type=Boolean(message);

alert(message_type);//true

下表给出各类数据类型转换规则:

数据类型

转换为true

转换为false

Boolean

true

false

String

任意字符串

“”空字符串

Number

任意非零数(包括无穷)

0NaN

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——11——1null——0undefined——NaN;字符串只包含数值直接转换(空为0,八进制直接忽略,十六进制转换十进制后显示);

parseInt():“123bad”——123;“”——NaN;“0xA”——1010.5——10;“070”——56(版本不同会有歧义js356js570.

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值