javascript类型转换

一、转换为数字 —— 显示类型转换
1、Number():强制将整个值转换为数字
如: Number(“123”) ==> 123
Number(true) ==> 1
Number(flase) ==> 0
Number(null) ==> 0
Number(undefined) ==> NaN
Number(“abc”) ==> NaN
Number(“123abc”) ==> NaN // 注意与parseInt和parseFloat不同

2、parseInt():强制将字符串转化为整数(其他类型的值均为NaN)
如:parseInt(“123.9”) ==> 123 // 向下取整
parseInt(true) ==> NaN
parseInt(false) ==> NaN
parseInt(null) ==> NaN
parseInt(undefined) ==> NaN
parseInt(“abc”) ==> NaN
parseInt(“123abc456”) ==> 123 // 截断字符串,只会取开头的数字

3、parseFloat():强制将字符串转化为浮点数(其他类型的值均为NaN)
如:parseFloat(“123.95”) ==> 123.95
parseFloat(true) ==> NaN
parseFloat(false) ==> NaN
parseFloat(null) ==> NaN
parseFloat(undefined) ==> NaN
parseFloat(“abc”) ==> NaN
parseFloat(“123.456.789”) ==> 123.456 // 截断字符串,只取一个小数点和数字

二、转换为数字 —— 隐式类型转换
1、isNaN() ==> 调用了 Number() 进行转化后再与 NaN 对比
例:
isNaN(undefined) ==> true
isNaN(“123”) ==> false

2、 ++/-- +/- (一元正负) ==> 调用了 Number() 进行转化
例:
var num = “123”
num ++ ==> 124

var num = “abc”
num ++ ==> NaN

3、 + ==> 调用了String()
例:
var str = 1 + “aa”; // “1aa”
var str = “bb” + 1; // “bb1”

4、-*/% (减号、乘号、除号、摩尔) ==> 调用的Number()
例:
var num = “2” * 2; // num = 4
var num = “a” * 2; // num = NaN

5、 < > >= <=
字符串和数字比较会将字符串转化为数字 ==> 调用Number()
字符串和字符串比较,对比的是ASCII码
如:“3” > 2 ==> true // "3"被转化为数字:3
“3aa” < 2 ==> false // "3aa"被转化为:NaN
“31a” > “1sad” ==> true // 比较的ascii码

三、转化为Boolean值
1、Boolean():强制将整个值转为布尔值
可转为false的值(共六个,除此之外全都转化为true):
(1)、false
(2)、null
(3)、undefined
(4)、NaN
(5)、0
(6)、"" // 空字符串

2、 == != && || ! ==> 调用的Boolean()
注:undefined == null
NaN != NaN

四、转化为字符串
1、String()
例:
String(1234) ==> “1234”

2、toString()
例:
var num = 123;
num.toString(num) ==> “123”

注:null 、 undefined不能使用toSting()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值