• js数据类型的转换


    // 说到数据类型转换就要先了解都有哪些数据类型
    // JS基本类型(值类型):字符串(string)、数字(number)、布尔(boolean)、空(null)、未定义(undefined)、symbol(symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值)
     
    // typeof 返回值只有六种
    // 注意: null 是特殊的对象
     1 //number boolean undefined string object function 
     
    // 数据类型转换分为隐式类型转换和显式类型转换
    // 隐式类型是程序内部自动完成的
    // 显示类型转换是程序员手动完成的

    // 显示类型转换:
    //1.转换成string类型
     (1)String()        String()函数可以转 undefined 和null
    1         var n;                          //typeof undefined
    2         console.log(String(n));         //undefined
    3         console.log(typeof String(n));  //stirng
    2).toStirng()
    toString()方法不能转 undefined 和null
     1 var m;2 console.log(typeof m.toString());//报错Uncaught TypeError: Cannot read property 'toString' of undefined 
     
    (3)数据+""
    1 var m = 23+"";2 console.log(typeof m);//string 
     
    2.转换number类型
    (1) parseInt()
    转换成整数(偏向于转字符串)
    1 console.log(typeof parseInt("23"));//number
    2 console.log(typeof parseInt("a23"));//NaN
    3 
    4 
    5 特点: 从左到右解析,遇到非数字字符,就停止解析,输出
    6 如果第一个字符就是非数字返回NaN    (NaN也是number类型)
    (2) parseFloat()
    转换成小数
    1 console.log(typeof parseInt("23"));//number
    2 console.log(typeof parseFloat("a23.23"));//NaN
    3 console.log(parseFloat("23.23.23"));//23.23
    4 
    5 特点和转换成整数一样
    (3) Number()
    转换成数字包括小数
    转换数据中有任意一个非数字字符 返回NaN
    1         console.log(Number(true));//
    2         console.log(Number(false));//0
    3         console.log(Number(undefined));//NaN
    4         console.log(Number("23.23w"));//NaN
    5         console.log(Number(null));//0
    6         console.log(Number(""));//0            
    特点: 它偏向于转Boolean类型
     
    (4)在数字前面 加 + 号
    最简单最实用的方法,效果同Number()
     1 (4)在数字前面 加 +2 最简单最实用的方法,效果同Number() 
    注意:任何类型之前只要有加号就是要转换为Number类型
     
    3. 转换boolean类型
    首先Boolean()
    注意:布尔类型强制转换的八个false
    1      console.log(Boolean(0));//false
    2         console.log(Boolean(-0));//false
    3         console.log(Boolean(undefined));//false
    4         console.log(Boolean(null));//false
    5         console.log(Boolean(false));//false
    6         console.log(Boolean(NaN));//false
    7         console.log(Boolean(""));//false
    8         console.log(Boolean(document.all));//false
    隐式类型转换
    1.转换成字符串: 字符串连接符 + 左边或右边有字符串
    var m = 23+"23";
            console.log(m);//2323
            console.log(typeof m);//string

    2.转换成数字: 自增自减 算数运算符(+做字符串连接符 除外)

    var m = +"23";
            console.log(m);//23
            console.log(typeof m);//number
    
            var t = true;
            var f = false;
            console.log(t++);//
            console.log(t--);//2
            console.log(f++);//0
            console.log(f--);//
            console.log(typeof t++);//number
            console.log(typeof f++);//number
    3.转换成布尔类型:! 逻辑非
      隐式转换 :
    1.转换成字符串 : + 字符串连接符 运算符两边, 只要有一遍是字符串, 那么就会把另外一遍一转成字符串进行拼接
    document.write("aaa" - ); // NaN
    document.write("aaa" * ); // NaN
    document.write("aaa" + ); // aaa
    document.write("aaa" + true); // aaatrue
    2.转换成数字 : 自增自减 算术运算符(除+作为字符串连接符以外) 两边必须是数字才能进行计算
    document.write(true + 5); // 6
    document.write(true + "5"); // true5
    document.write(undefined + ); // NaN
    document.write(false + null); // 0
    3.转成布尔类型 : ! 逻辑非的操作数必须是布尔类型, 计算机自动转换
    console.log(!);     // false
    console.log(!null);  // true
    console.log(!" ");   // false
    console.log(!"false"); // false
  • 相关阅读:
    Upgrading CentOS 6 to CentOS 7
    redis主从同步错误处理
    【linux】free命令中cached和buffers的区别
    服务器TIME_WAIT和CLOSE_WAIT区别及解决方案
    msyql 主从切换
    MySQL主从同步报错1507
    MYSQL SHOW 用法
    NGINX中的proxy_pass和rewrite
    Web服务器Nginx多方位优化策略
    operator重载运算符
  • 原文地址:https://www.cnblogs.com/zycs/p/13414637.html
Copyright © 2020-2023  润新知