JS:强制类型转换

整理了一些常用的强制类型转换方法:

  Number();      //将其他类型强制转化为 number类型
  String();      //将其他类型强制转化为 string类型  (+"")
  Boolean();      //将其他类型强制转化为 boolean类型(true|false)
  ParseInt();      //将其他类型转化为整型(整数)
  ParseFloat();      //将其他类型转化为浮点型(小数)

举例

1.Number()

var result = Number("100"); // 纯数字类型的字符串  => 数值
var result = Number("100a"); // 非纯数字类型的字符串  => NaN
var result = Number(""); // 空字符串 转化为数字 => 0
var result = Number(" "); // 空格字符串 转化为数字 => 0
var result = Number(true); // 转化为数字  1
var result = Number(false); // 转化为数字  0
var result = Number(null); // 转化为数字  0
var result = Number(undefined); // 转化为数字  NaN

2.String()

 //与该方法一个意思 console.log(result, typeof result);
var result = String(100); // 转化为字符串  "100"
var result = String(true); // 转化为字符串 "true"
var result = String(false); // 转化为字符串  "false"
var result = String(null); // 转化为字符串  "null"
var result = String(undefined); // 转化为字符串  "undefined"

3、Boolean()

注意:

1.只要有实际内容转化为布尔值 都为true, 如果没有实际内容或空内容转化为布尔值都是false;

2.NaN,0,"",null,undefined 转化为布尔值为false,其他的都为true。(!!空格 和空字符串 不一样,空格是具有实际意义的!空字符串没有)

   // 数字转布尔
var result = Boolean(2); // 转化为布尔值 =>  true
var result = Boolean(1); // 转化为布尔值 =>  true
var result = Boolean(-1); // 转化为布尔值 =>  true
var result = Boolean(Infinity); // 转化为布尔值 =>  true
var result = Boolean(0); // 转化为布尔值 =>  false
var result = Boolean(NaN); // 转化为布尔值 =>  false

   // 字符串转布尔
var result = Boolean("100"); // 转化为布尔值 =>  true
var result = Boolean("100a"); // 转化为布尔值 =>  true
var result = Boolean(" "); //空格 转化为布尔值 =>  true
var result = Boolean(""); //空字符串 转化为布尔值 =>  false

  // null  undefined  转布尔
var result = Boolean(null); //空值 转化为布尔值 =>  false
var result = Boolean(undefined); //未定义 转化为布尔值 =>  false

4、parseInt() 找到第一个非数字之前的数 将其转化为整数 (变相用法 向下取整)

var num = parseInt("100px");//100
var num = parseInt("100.55px");//100
var num = parseInt(100.55);//100
var num = parseInt("a100.55px");//NaN
  
var num = parseInt(true);  //NaN
var num = parseInt(false);  //NaN
var num = parseInt(undefined);  //NaN
var num = parseInt(null);  //NaN

parseInt可以接收第二个参数,用于指定底数(进制数)。如果知道要解析的值是十六进制,那么可以传入16作为第二个参数,以便正确解析:

 var num = parseInt("0xAF",16);      //175
 通过第二个参数,可以极大拓展转换后获得的结果类型。
  var num =parseInt("10", 2);      //2, 按二进制解析
  var num =parseInt("10", 8);      //8, 按八进制解析
  var num =parseInt("10", 10);      //10, 按十进制解析
  var num =parseInt("10", 16);      //16, 按十六进制解析

5、parseFloat() 找到第一个非数字之前的数 将其转化为number类型(保留小数) (变相用法 向下取整) 若字符串表示整数(没有小数点或小数点后面只有0,则返回整数

var num = parseFloat("100px");//100
var num = parseFloat("100.55px");//100.55
var num = parseFloat(100.55);//100.55
var num = parseFloat("a100.55px");//NaN

----------------------------------------------------end-----------------------------------------------------------------------------

原文地址:https://www.cnblogs.com/WayToGo-hwd/p/13996480.html