1 任意转字符串
String(thing) (thing:任何可以被转换成字符串的值
1 | String(1) //"1" |
注意⚠️:当字符串中的数字为其他进制时,会自动转化为十进制,再把十进制转化为字符串,如:1
2
3
4String(0b1100) //"12" 二进制转化为十进制
String(01100) //"576" 八进制转化为十进制
String(0o1100) //"576" 八进制转化为十进制
String(0x1100) //"4352" 十六进制转化为十进制
thing.toString()
1 | 1.toString() //Uncaught SyntaxError: Invalid or unexpected token |
thing + “”
1 | 1 + "" //"1" |
2 任意转数字
Number(value)
1 | Number(true) //1 布尔转为数字 |
parseInt(string, radix) MDN
1 | //⚠️string必须是一个字符串 |
* string:必需。要被解析的字符串。
* radix:可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间,如果省略该参数或其值为 0,则数字将以 10 为基础来解析。**如果它以 “0x” 或 “0X” 开头,将以 16 为基数**,如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
* 注意⚠️:radix参数为n 将会把第一个参数看作是一个数的n进制表示,而返回的值则是十进制的
parseFloat(string) MDN
1 | parseFloat("1.11") //1.11 字符串中是数字(0-9)以及小数点 |
* string:需要被解析成浮点数的字符串
* parseFloat是个全局函数,不属于任何对象
* parseFloat将它的字符串参数解析成为浮点数并返回,如果在解析过程中遇到了**正负号(+或-)、数字(0-9)、小数点、或者科学记数法中的指数(e或E)以外的字符**,则它**会忽略该字符以及之后的所有字符**,返回当前已经解析到的浮点数,同时**参数字符串首位的空白符会被忽略**
* 可以通过调用isNaN函数来判断parseFloat的返回结果是否是NaN,如果让NaN作为了任意数学运算的操作数,则运算结果必定也是NaN
* parseFloat 也可转换和返回Infinity值. 可以使用isFinite 函数来判断结果是否是一个有限的数值 (非Infinity, -Infinity, 或 NaN)
string- 0 或 string*1 或string/1
1 | "123"-0//123 相减 |
+string 或 -string
1 | +"123"//123 正 |
3 任意转布尔
Boolean(value) (value:可选,是用来初始化 Boolean 对象的值。)
1 | //Boolean()值为false的情况:参数值为 0、-0、null、NaN、undefined、空字符串(""),或者传入的参数为 DOM 对象的 document.all 时 |
!!value
1 | !!"" //false |