• 字符串与各种类型转换
• 数字跟各种类型转换
• boolean类型跟各种类型转换
1.显式的类型转换
•转换为数值类型:
• Number(mix)、
• parseInt(string,radix)
• parseFloat(string)
•转换为字符串类型:
• String(mix)
•转换为布尔类型:
• Boolean(mix)
1.1数值类型的转换
1)Number(mix)函数,可以将任意类型的参数mix转换为数值类型
• 如果是布尔值,true和false分别被转换为1和0
Number(true)// 1
• 如果是数字值,返回本身。
• 如果是null,返回0. • 如果是undefined,返回NaN。
• 如果是字符串,遵循以下规则:
•如果字符串中只包含数字,则将其转换为十进制(忽略前导0)
•如果字符串中包含有效的浮点格式,将其转换为浮点数值(忽略前导0)
•如果是空字符串,将其转换为0
•如果字符串中包含非以上格式,则将其转换为NaN
•单加法操作跟Number函数效果一致:
• var b, a = false;
• b = +a;// b = 0 => b= Number(a);
• b = + "123" // b = 123 ,把字符串转为数字
2)parseInt转换数字
•parseInt(string,radix)函数,将字符串转换为整数类型的数值。它也有一定的规则:
• 忽略字符串前面的空格,直至找到第一个非空字符
• 如果第一个字符不是数字符号或者负号,返回NaN
• 如果第一个字符是数字,则继续解析直至字符串解析完毕或者遇到一个非数字符号为止
• 如果上步解析的结果以0开头,则将其当作八进制来解析;如果以0x开头,则将其当作十六进制来解析
•parseFloat(string)函数,将字符串转换为浮点数类型的数值。其他规则同 parseInt。
1.2 String方法转换
String(mix)函数,将任何类型的值转换为字符串,其规则为: 如果有 toString()方法,则调用该方
法并返回结果
var a = 4; a.toString();//"4"
如果是 null,返回”null” a = null; a.toString();// "null"
如果是 undefined,返回”undefined”
也可以之间用变量+''的方法转换类型为字符串类型,同 String 函数。 例如: a + “”; // =>
String(a);
1.3 Boolean(mix)函数转换
Boolean(mix)函数,将任何类型的值转换为布尔值。
以下值会被转换为 false:
false、”"(空字符串)、0、NaN、null、undefined,其余任何值都会被转换为 true。
Var t = Boolean(123); // t => true
!!两次取饭跟 Boolean 方法效果一致
var a = 3,b = 0, c = "";
!!a; // true
!!b; //false
!!c; //false
2.隐式类型转换
隐式类型转换:就是当表达式进行运算时,如果类型不一致,JavaScript 引擎会自动根据规则把类型进行
转换后再进行运输。
var b = +a;// 相当于 b = Number(a);
var b = !!a; // b = Boolean(a);
var b = a + "";// String(a)
var c = 1 + true; // c=>2
var t = true + ''; // t => true