js数据类型转换

转换成字符串

方式一:
            - 调用被转换数据类型的toString()方法
            - 该方法不会影响到原变量,它会将转换的结果返回
            - 但是注意:null和undefined这两个值没有toString()方法,如果调用他们的方法,会报错
方式二:
            - 调用String()函数,并将被转换的数据作为参数传递给函数
            - 使用String()函数做强制类型转换时,
                对于Number和Boolean实际上就是调用的toString()方法
                但是对于null和undefined,就不会调用toString()方法
                它会将 null 直接转换为 "null"
                将 undefined 直接转换为 "undefined"
a = 123;
a = String(a);
a = null;
a = String(a);
a = undefined;
a = String(a);
console.log(typeof a);
console.log(a);

将其他的数据类型转换为Number

转换方式一:
        使用Number()函数
        字符串 --> 数字
        1.如果是纯数字的字符串,则直接将其转换为数字
        2.如果字符串中有非数字的内容,则转换为NaN
        3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为0

        布尔 --> 数字
        true 转成 1
        false 转成 0
        - null --> 数字 0
        - undefined --> 数字 NaN
        
转换方式二:
        - 这种方式专门用来对付字符串
        - parseInt() 把一个字符串转换为一个整数
        - parseFloat() 把一个字符串转换为一个浮点数

var a = "123";

        //调用Number()函数来将a转换为Number类型
        a = Number(a);

        a = "789abc";
        a = Number(a);

        a = "";
        a = Number(a);

        a = "      ";
        a = Number(a);

        a = true;
        a = Number(a);

        a = false;
        a = Number(a);

        a = null;
        a = Number(a);

        a = undefined;
        a = Number(a);

        a = "123.567a456px";
        //调用parseInt()函数将a转换为Number
        //parseInt()可以将一个字符串中的有效的整数内容去出来,然后转换为Number
        a = parseInt(a);

其他进制数字:

如果需要表示16进制的数字,则需要以0x开头
如果需要表示8进制的数字,则需要以0开头
如果要要表示2进制的数字,则需要以0b开头,但是不是所有的浏览器都支持

//十六进制
        a = 0x10;
        a = 0xff;
        a = 0xCafe;
        
        //八进制数字
        a = 070;
        
        //二进制数字
        //a = 0b10;
        
        //像"070"这种字符串,有些浏览器会当成8进制解析,有些会当成10进制解析
        a = "070";
        
        // a = parseInt(a);
        //可以在parseInt()中传递一个第二个参数,来指定数字的进制
        a = parseInt(a,10);
        
        console.log(typeof a);
        console.log(a);
在js中,查看某个数据类型用:typeof

转换BOOLEAN

  • 数字 ---> 布尔
  • 除了0和NaN,其余的都是true
  • 字符串 ---> 布尔
  • 除了空串,其余的都是true
  • null和undefined都会转换为false
  • 对象也会转换为true
var a = 123; //true
        a = -123; //true
        a = 0; //false
        a = Infinity; //true
        a = NaN; //false
        
        //调用Boolean()函数来将a转换为布尔值
        a = Boolean(a);

        a = "hello";//true
        a = "true";//true
        a = "false";//true
        a = "错误";//true
        a = " ";//true
        a = "";//false
        a = Boolean(a);
        
        a = null; //false
        a = Boolean(a);
        
        a = undefined; //false
        a = Boolean(a);
        
        a = window; //true
        a = Boolean(a);
        
        console.log(typeof a);
        console.log(a);
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • JS中的数据类型转换是将其他的类型转换为另一种类型。 其它类型转number类型 方法有很多,主要分为以下5种。(...
    猫晓封浪阅读 248评论 0 0
  • JS中有七种数据类型,往往需要用到数据类型转换,简单总结如下: 一、转字符串其他数据类型转字符串,可以用toStr...
    灵魂治愈阅读 555评论 0 0
  • JavaScript 是一种弱类型的语言,也就是没有类型限制,变量可以随时被赋予任意值。同时,在程序运行过程中,类...
    胡小胖_阅读 257评论 0 0
  • 1、任意类型转字符串 1、string(x) 2、x.toString() 注意:1、null undefined...
    H_uan阅读 266评论 0 0
  • 1.印象深刻的三件事 (1)同学讲的ppt (2)老师讲的小故事 (3)老师讲情绪 2.印象深刻的原因 (1)同学...
    雪的忧愁阅读 285评论 0 0

友情链接更多精彩内容