JavaScript类型转换

• 字符串与各种类型转换
• 数字跟各种类型转换
• 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 ,把字符串转为数字
Number转换.png
2)parseInt转换数字
•parseInt(string,radix)函数,将字符串转换为整数类型的数值。它也有一定的规则:
  • 忽略字符串前面的空格,直至找到第一个非空字符
  • 如果第一个字符不是数字符号或者负号,返回NaN
  • 如果第一个字符是数字,则继续解析直至字符串解析完毕或者遇到一个非数字符号为止
  • 如果上步解析的结果以0开头,则将其当作八进制来解析;如果以0x开头,则将其当作十六进制来解析
  •parseFloat(string)函数,将字符串转换为浮点数类型的数值。其他规则同 parseInt。
parseInt转换.png
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
Boolean转换.png

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

你可能感兴趣的:(JavaScript类型转换)