JavaScript有7种数据类型,分别是:
number(数字)、string(字符串)、Boolean(布尔值)、null、undefined、object(对象)、symbol(符号)。其中symbol是ES6中才有的,这里不做记录。数据类型之间是可以相互转换的,这里将会做一些关于数据类型间转换的笔记。
一、其它数据类型转换为字符串数据类型
1、使用API:toString
1.1数字转为字符串:
1.2 布尔值转为字符串:
1.3 null和undefined使用这种方法是不能转换为字符串的
此时转化失败主要是因为null和undefined没有toString这个属性。
1.4 对象转化为字符串:
这个时候能转化为字符串的形式,但是却并不是对象的内容的字符串形式。
2 使用 + (推荐使用)
使用加号的主要形式是:输入的内容 +'' 或者 ''+ 输入的内容。这样能进行转换的原因是加号会将两边相加的内容转换为相同的类型,优先会将其他类型的数据转换为字符串。
可以看出加号的功能是比较强大的,可以将null和undefined都转换为字符串
3 使用window.string()
window.string是一个全局函数,这个方法的功能和加号的功能一样强大。
二、其他类型的数据转换为布尔值
1.使用全局函数Boolean()
2.使用 !! (推荐使用)
!! 能将其他类型转换为布尔值的原因是,对于一个数据类型而言,其前面加上 ! 就表示取反,取反的值就是一个布尔值:true/false,再对这一个值进行取反就能得到原来数据类型对应的布尔值。
3、所有的数据类型都可以转换为布尔值,转换的时候有几个比较特殊的情况:
3.1、0和NaN转为布尔值是false,
3.2、空字符串 '' 转为布尔值是false,
3.3、null和undefined转为字符串是false,
3.4、object转为字符串都是true,其中也包括函数和数组。
三、字符串转换为number类型
方法1:使用Number,
方法2:使用parseInt(),
方法3:使用parseFloat(),
方法4:使用减号,
方法5:使用加号。
parseInt(),输入的第一个参数是需要转换的字符串数据,第二个参数是需要转换的进制,默认转换为十进制,在进行转换的时候,会先对数字进行转换,当遇到转换不了的字母等非数字类型时就停止转换。
详细的内容可以查看阮一峰老师的JavaScript 标准参考教程(alpha)wangdoc.com/javascript的第二章语法。