逻辑分支中的类型转换

148 阅读1分钟

逻辑分支的类型转换

一、转数字

强制转换:Number()、parseInt()、parseFloat()

1、Number()

  • 空字符串转为 0 、数字字符串转为数字 、其他字符串都是NaN
    var kong="";
    var num1=Number(kong);
    console.log(num1);
    // 数字字符串
    var shuzi="11"
    var num2=Number(shuzi);
    console.log(num2);
    // 其他字符串
    var qita="文字";
    var num3=Number(qita);
    console.log(num3);
  • 布尔值true转成 1,布尔值false转成 0
    var bool=false;
    var num=Number(bool);
    console.log(num);
  • undefined转成NaN
    var a;
    var num=Number(a);
    console.log(num);
  • null转成0
    var a=null;
    var num=Number(a);
    console.log(num);

2、parseInt()

  • 数字开头的字符串,能获取到开头的整数,其他数据都是NaN
    var a = "12.33ab"
    var num=parseInt(a);
    console.log(num);//结果为12

    var b="ab12.33";
    var num1=parseInt(b);
    console.log(num1);//结果为NaN

3、parseFloat()

  • 数字开头的字符串,能获取到开头的数字,其他数据都是NaN
    var a="123.45ab";
    var num=parseFloat(a);
    console.log(num);//结果为123.45
    
    var b="ab.12345";
    var num1=parseFloat(b);
    console.log(num1);//结果为NaN

隐形转换

1、进行数学运算的两个数据都会转成数字

  • 如果有一个是字符串,且符号是+除外

2、比较运算

  • 只要有一个是数字,另一个也会转成数字

二、转字符串

强制转换

  • String()
  • 数据.toString()

隐形转换

  • +号左右两边有一个是字符串,另一个也会转成字符串

三、转布尔值

1、Boolean()

2、将内容放在if的小括号中

3、结果

①结果为false的有:

  • 数字 0
  • 空字符串
  • undefined
  • null

②其余结果都为true