JS数据类型小结

基本数据类型:undefined、Null、Boolean、Number、String

1、Undefined类型

Undefined类型只有一个值,即特殊的undefined。在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined

var message;
console.log(message == undefined);    //    true

包含undefined值的变量与尚未定义的变量还是不一样的

var message;    //这个变量声明之后默认取得了undefined值

console.log(message)    //undefined
console.log(age)    //产生错误

console.log(typeof message)    //undefined
console.log(typeof age)    //undefined

对未初始化和未声明的变量执行typeof操作符都返回了undefined值

2、Null类型

Null类型是第二个只有一个值的数据类型,这个特殊的值是null。

var car = null;
console.log(typeof car)    //object

如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null而不是其他值。

3、Boolean类型

Boolean 类型是 ECMAScript 中使用得最多的一种类型,该类型只有两个字面值: true 和 false 。
这两个值与数字值不是一回事,因此 true 不一定等于 1,而 false 也不一定等于 0

数据类型转换为true的值转换为false的值
Booleantruefalse
String任何非空字符“”空字符串
Number任何非零数字(包括无穷大)0和NaN
Object任何对象null
undefinednot applicationundefined

 

4、Number类型

Number类型应该时ECMAScript中这种类型使用IEEE754格式来表示整数和浮点数值。

NaN,即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误)

  • 任何涉及NaN的操作都会返回NaN
  • NaN与任何值都不相等,包括NaN本身
    console.log(NaN == NaN)    //false

数值转换

Number() 函数的转换规则如下。

  • 如果是 Boolean 值, true 和 false 将分别被转换为 1 和 0。
  • 如果是数字值,只是简单的传入和返回。
  • 如果是 null 值,返回 0。
  • 如果是 undefined ,返回 NaN 。
  • 如果是字符串,遵循下列规则:
  • 如果字符串中只包含数字(包括前面带正号或负号的情况),则将其转换为十进制数值,即 "1"会变成 1, "123" 会变成 123,而 "011" 会变成 11(注意:前导的零被忽略了);
  • 如果字符串中包含有效的浮点格式,如 "1.1" ,则将其转换为对应的浮点数值(同样,也会忽略前导零);
  • 如果字符串中包含有效的十六进制格式,例如 "0xf" ,则将其转换为相同大小的十进制整数值;
  • 如果字符串是空的(不包含任何字符),则将其转换为 0;
  • 如果字符串中包含除上述格式之外的字符,则将其转换为 NaN 。
  • 如果是对象,则调用对象的 valueOf() 方法,然后依照前面的规则转换返回的值。如果转换的结果是 NaN ,则调用对象的 toString() 方法,然后再次依照前面的规则转换返回的字符串值。

Number()函数在转换字符串时比较复杂而且不够合理,因此在处理整数的时候更常用的是parseInt(),其在转换字符串的时候,更多的是看其是否符合数值模式

parseInt() 提供了第二个参数:转换时使用的基数(即多少进制)。

5、String类型

ECMAScript中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。

数值、布尔值、对象和字符串值都有toString()方法。但null和undefined值没有这个方法。

在调用数值的toString()方法时,可以传递一个参数:输出数值的基数。

在不知道要转换的值是不是null或undefined的情况下,还可以使用转型函数String()这个函数能够将任何类型的值转换为字符串。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值