失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > JS中的数据强制类型转换

JS中的数据强制类型转换

时间:2022-11-11 21:39:36

相关推荐

JS中的数据强制类型转换

1.含义

强制类型转换指的是将一个数据类型强制转换为其他的数据类型

类型转换主要指,将其他的数据类型,转换为 String Number Boolean即字符串,数值和布尔值

2.将其他的数据类型转换为Sting

1.方式一:

- 调用被转换数据类型的toString()方法

- 该方法不会影响到原变量,它会将转换结果返回

- 但是要注意:null和undefined这两个没有toString 调用会报错

a =true;//调用xxx的yyy()方法,就是xxx.yyy()a =a.toString();document.write(typeof a);//stringdocument.write(a);//true

2.方式二:

- 调用String()函数,并将参数传递给函数

- 使用String()函数做强制类型转换时,

对于Number和Boolean实际上就是调用的toString()方法

但是对于null和undefined,就不会调研toString()方法

它会将null 直接转换为 "null"

将undefined 直接转换为 "undefined"

a=null;a=String(a);document.write(typeof a);//stringdocument.write(a);//null

3.将其他的数据类型转换为Number

1.方式一

使用number()函数

将字符串转换成数字

1.纯数字:转换成数字

var a="123";a=Number(a);console.log(typeof a);//Numberconsole.log(a);//123

2.有非数字内容:nan

var a="123px";a = Number(a)console.log(typeof a);//numberconsole.log(a);//NaN

3.空窜/全是空格:null

4.true/false:1/0

5.null --> 数字0

6.undefined --> 数字nan

2.方式二

使用parseInt()和parseFloat()函数(专门用于应付字符串)

parseInt()

var a="123px";a=parseInt(a);console.log(typeof a);//Numberconsole.log(a);//123

parseFloat()

parseFloat()和parseInt()类似,不同的是它可以获得有效的小数

var a="133.54px";a=parseFloat(a);console.log(typeof a);//Numberconsole.log(a);//133.54

对非String使用parseInt()或parseFloat()

它会先将其转换为String然后再操作

3.其他的进制

在JS中,如果需要表示16进制的数字,则需要以0x开头

如果需要表示8进制的数字,则需要以0开头

如果需要表示2进制的数字,则需要以0b开头,但是不是所有浏览器都兼容

//16进制a=0x10;a=0xff;//8进制a=070;//2进制a=0b10;//像"070"这种字符串,有些浏览器会当成8进制解析吗,有些会当成10进制解析a="070";//可以在pareeInt()中传递一个第二个参数,来指定数字的进制a=parseInt(a,8);console.log(a);

4.将其他的数据类型转换为Boolean

使用boolean()函数

将数字转换为布尔

除了0和NaN,其余的都是true

将字符串转换为布尔

除了空串,其余都是true

null和undefined都会转换为false

var a=123;//truea=456;//truea=0;//falsea=Infinity;//truea=NaN;//falsea="true";//truea="";//falsea=null;//false a=undefined;//falsea=Boolean(a);

如果觉得《JS中的数据强制类型转换》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。