zoukankan      html  css  js  c++  java
  • JavaScript 类型转换方法

    转成布尔值

    1.通过!!转换
    2.通过Boolean( ) ⭐️
    注:undefined,null,-0,+0,NaN,‘’(空字符串)是false,其他的都是true。
    所有对象的布尔值都是true,甚至连false对应的布尔对象也是true。空对象{}和空数组[]也会被转成true。
    number类型除了0对应false外,其他都对应true

    Boolean(new Boolean(false)) // Boolean对象会转成true
    Boolean([] ) // 空数组会转成true
    Boolean({}) // 空对象会转成true

           let a = '你好'
          let b = null
          let o = b && a
          console.log(o)  // null
          // && 表达式从第一个开始,遇到值为false的表达式,则返回表达式本身,否则返回最后一个表达式
    

    转成数字类型

    1. 转换函数:⭐️
      提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。
      只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。
      parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下:

    代码如下:

    parseInt("AF", 16); //returns 175
    parseInt("10", 2); //returns 2
    parseInt("10", 8); //returns 8
    parseInt("10", 10); //returns 10
    

    如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如:

    代码如下:

    parseInt("010"); //returns 8
    parseInt("010", 8); //returns 8
    parseInt("010", 10); //returns 10
    

    parseFloat()方法与parseInt()方法的处理方式相似。
    使用parseFloat()方法的另一不同之处在于,字符串必须以十进制形式表示浮点数,parseFloat()没有基模式。

    1. 强制类型转换 Number(value)——把给定的值转换成数字(整数或浮点数)
      使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。
      将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。

    Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。示例如下:

    代码如下:

    Number(false) 0
    Number(true) 1
    Number(undefined) NaN
    Number(null) 0
    Number( "5.5 ") 5.5
    Number( "56 ") 56
    Number( "5.6.7 ") NaN
    Number(new Object()) NaN
    Number(100) 100
    
    1. 利用js变量弱类型转换 通过-0 或者 *1 或者+'453' +'42.6';

    转成字符串

    1、toString()方法 toString()方法返回的是相应值的字符串表现形式

    数值、布尔值、对象、数组和字符串值都有toString()方法,但是null和undefined值没有这个方法,在大多数情况下,使用toString()方法不需要传递参数。

    数值调用toString()方法的时候可以传递一个参数,来表示输出数值的基数,可以以2、8、16进制表示字符串值。

    2、String()函数 ⭐️ String()处理null和undefined相当不错。不会抛出任何错误
    String()函数可以将任何类型的数值转换为字符串

    如果转换值有toString()方法的话,就直接调用该方法,并返回相应的结果

    如果转换值是null,则返回"null"

    如果转换值是undefined,则返回"undefined"

    例子:

     ```
            var value1 = 10;
            var value2 = true;
            var value3 = null;
            var value4;    //只定义未初始化的变量,自动赋值为undefined
     
            String(value1);   // 10"
            String(value2);   //"true"
            String(value3);   // "null"
            String(value4);   // "undefined"
    
    3、通过+‘’  空字符串
    
    注:数组转换成字符串的常用方法
    1、数组中 toString() 方法能够把每个元素转换为字符串,然后以逗号连接输出显示。如果是多维数组,JavaScript 会以迭代的方式调用 toString() 方法把所有数组都转换为字符串。
    2、toLocalString() 方法与 toString() 方法用法基本相同,主要区别在于 toLocalString() 方法能够使用用户所在地区特定的分隔符把生成的字符串连接起来,形成一个字符串。
    3、join() 方法可以把数组转换为字符串,不过它可以指定分隔符。在调用 join() 方法时,可以传递一个参数作为分隔符来连接每个元素。如果省略参数,默认使用逗号作为分隔符,这时与 toString() 方法转换操作效果相同。
    将字符串转数组  split() 方法把字符串转换为数组
    
    split() 方法是 String 对象法,与 join() 方法操作正好相反。该方法可以指定两个参数,第 1 个参数为分隔符,指定从哪儿进行分隔的标记;第 2 个参数指定要返回数组的长度。
    
    JSON.stringify() 方法用于将 JavaScript 值(对象或者数组)转换为 JSON 字符串。
    JSON.parse() 方法用于将一个 JSON 字符串转换为对象。
  • 相关阅读:
    “连城决”——预示2008年手机营销体式格式新打破
    都会演出连城诀—诺基亚N78决战入手入手了!
    Lyx:阔别单调的 LaTeX 节制命令
    [转载]Oracle 11g R1下的自动内存经管(2)
    假造化手艺是决胜企业IT化的关头
    请各位博友对HyperV的运用终了指摘
    有199元的Office,还要用盗版吗?
    十一回南通,当晚和同学去小石桥附近的网吧
    Windows 消息
    WinAPI: 钩子回调函数之 MsgFilterProc
  • 原文地址:https://www.cnblogs.com/liaoing/p/14108574.html
Copyright © 2011-2022 走看看