数据类型转换

转换为字符型:

三种方式:

1、toString()

用法:待转变量.toString()
注意:未定义类型不能使用这种方式, 会报错,并且一旦报错下面的程序将不运行。

2、String()

用法:String(待转变量)

3、+拼接 待转变量+'’或者+一个字符串;
 注意:任何类型与字符串拼接均为字符串

//    转换为字符型
        var num1=12;
        var num2=23.2;
        var flag1=false;
        var flag2=true;
        var ude;
        // 第一种方式  toString()
        console.log(num1);//数值型的在chrome里面显示蓝色
        console.log(num1.toString());//字符型的在chrome里显示黑色
        console.log(num2.toString());
        console.log(typeof num2.toString());//string
        console.log(flag1.toString());//false
        console.log(flag2.toString());//true
        // console.log(ude.toString());//报错,undefined不能用toString()方法
        // 注意:一报错,下面的程序不会继续运行
        console.log('---------------');
        // 第二种方式  String()
        console.log(String(num1));//12
        console.log(String(num2));//23.2
        console.log(String(flag1));//false
        console.log(String(flag2));//true
        console.log(String(ude));//underfined
        console.log('---------------');
        
        // 第三种方式  利用+拼接转换
        console.log(num1+'');
        console.log (flag1+'');//false
        console.log(ude+'');//undefined
        
        console.log('---------------');

转换为数值:

1、parseInt()

用法:parseInt(待转变量)
①转换为整数
②如果第一个字符不是数字符号或者负号,返回NaN

2、parseFloat()

用法: parseFloat(待转变量)
转换为浮点数

3、Number()

用法:Number(待转变量)
转换为整数或者小数
特殊情况:①里面只要出现非数字字符或者undefined, 则就返回 NaN
② 如果该值是空字符串、数字0、或null、false 则返回 0
如果是 true 则返回 1

4、隐式转换 待转变量 - 0; 或者 待转变量 * 1;

进行比较运算时,> < >= <=
数字才能比较大小,隐式地把其他类型转成数值型。
注意 +的特殊用法


// 转换为数值型
          
          var str1='12.3';
          var str2='0'
          var str3='';
          var str4='ab12';
          var str5='123ab';
          var flag1=true;
          var flag2=false;
          var ude;
        //   第一种方法  parseInt()
          console.log(parseInt(str1));//12
          console.log(parseInt(str2));//0
          console.log(parseInt(str3));//NaN
          console.log(parseInt(str4));//NaN
          console.log(parseInt(str5));//123
          console.log(parseInt(flag1));//NaN
          console.log(parseInt(flag2));//NaN
          console.log(parseInt(ude));//NaN
          console.log('---------------');
        //   第二种方法  parseFloat()
          console.log(parseFloat(str1));//12.3
          console.log(parseFloat(str2));//0
          console.log(parseFloat(str3));//NaN
          console.log(parseFloat(str4));//NaN
          console.log(parseFloat(str5));//123
          console.log(parseFloat(flag1));//NaN
          console.log(parseFloat(flag2));//NaN
          console.log(parseFloat(ude));//NaN
          console.log('---------------');

        //   第三种方法  Number()
          console.log(Number(str1));//12.3  
          console.log(Number(str2));//0  ② 如果该值是空字符串、数字0、或null、false   则返回 0      
          console.log(Number(str3));//0
          console.log(Number(str4));//NaN  出现非数字字符回 NaN
          console.log(Number(str5));//NaN   出现非数字字符回 NaN
          console.log(Number(flag1));//1   如果该值是 true  则返回 1
          console.log(Number(flag2));//0
          console.log(Number(ude));//NaN
          console.log('---------------');

        //   第四种方法  利用算术运算实现了字符串到数字的类型转换
        var str1='23';
        var num=2;
        console.log(str1+num); //232  +拼接,任何跟字符串相连的都会成为字符串
        console.log(str1-num);  //21
        console.log('---------------');

转化为布尔型 Boolean()

代表 空、否定的值 会被转换为 false 有五种 “ ''、0、NaN、null、undefined
其余任何值都会被转换为 true

布尔型的隐式转换

(代码运行时,偷偷摸摸给转换了类型)
【A】进行逻辑运算时, && || !
两边是不是需要是布尔型,隐式地把其他类型转成布尔型。
【B】进行三元运算时


// Boolean 转换为布尔型   true  false 
        // 1. 代表 空、否定的值 会被转换为 false 有五种   ''、0、NaN、null、undefined  
        console.log(Boolean(''));
        console.log(Boolean(0));
        console.log(Boolean(null));
        console.log(Boolean(undefined));
        console.log(Boolean(NaN));
        // 2. 剩下的都是true 
        console.log(Boolean('12'));
        console.log(Boolean(123));
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容