zoukankan      html  css  js  c++  java
  • javascript 显示类型转换

    一、转型函数Boolean()

    ECMAScript中所有类型的值都有与Boolean值(true和false)等价的值。要将一个值转换为其对应的Boolean值,可以调用转型函数Boolean()

    数据类型 转换为true的值 转换为false 的值
    Boolean true false
    String 任何非空字符串 "" (空字符串)
    Number 任何非零数字值(包括无穷大) 0和NaN
    Object 任何对象 null
    Undefined 不适用 undefined
    Boolean(null);//false
    Boolean(undefined);//false
    Boolean("");//false
    Boolean(0);//false
    Boolean({});//true
    

    用Boolean转换空格字符串,也会转换为true

    二、数值转换

    有三个函数可以把非数值转换为数值:Number()、parseInt()、parseFloat()

    转型函数Number()可以用于任何数据类型,其他两个专门用于把字符串转换为数值

    1、转型函数Number()

    Number()函数的转换规则:

    (1)如是布尔值,true转换为1,false转换为0

    (2)如是null,返回0

    (3)如是undefined,返回NaN

    (4)如是字符串,规则:

    • 如字符串中只包含数字(包括前面带正负号的情况),将其转换为十进制数值
    • 如字符串中包含有效的浮点格式,将其转换为对应的浮动数值
    • 如字符串中包含有效的十六进制格式,例如“oxf”,将其转换为相同大小的十进制整数值
    • 如字符串为空,转换为0
    • 如字符中包含除上述格式之外的字符,将其转换为NaN

    (5)如果是对象,调用对象的valueOf()方法,再依照前面的规则转换返回的值,如果转换结果为NaN,调用对象的toString()方法,再依照前面的规则转换

    console.log(Number("ad12"));//NaN
    console.log(Number("12ad"));//NaN
    console.log(Number("12"));//12
    console.log(Number("2.1w"));//NaN
    console.log(Number(""));//0
    console.log(Number(true));//1
    console.log(Number());//0
    console.log(Number(null));//0
    console.log(Number(undefined));//NaN
    console.log(Number(" "));//0
    console.log(Number(""));//0
    console.log(Number("0xf"));//15
    console.log(Number("070"));//70
    

    2、parseInt()函数  

    规则:

    (1)忽略字符串前面的空格,直到找到第一个非空格字符,如果第一个字符不是数字或者负号,会返回NaN,用parseInt()转换空字符串会返回NaN

    (2)如果字符串以“ox”开头,且后跟数字字符,会当作一个十六进制整数

    (3)第二个参数表示转换时使用的基数(多少进制)

         console.log(parseInt(""));//NaN
         console.log(parseInt());//NaN     
         console.log(parseInt(true));//NaN
         console.log(parseInt("0x10"));//16
         console.log(parseInt("0xf"));//15
         console.log(parseInt("070"));//70
         console.log(parseInt("22.7"));//22
         console.log(parseInt("22.7.9"));//22
         console.log(parseInt("AF",16));//175
         console.log(parseInt("10",2));//2
         console.log(parseInt("10",8));//8
         console.log(parseInt("10",16));//16
         console.log(parseInt("10qq"));//10 
    

    3、parseFloat()函数  

    与parseInt()函数类似,也是从第一个字符开始解析每个字符,一直解析到字符串末尾,或解析到遇到一个无效的浮点数字字符为止。

    字符串中的第一个小数点是有效的,第二个小数点就无效了

    只能解析十进制数,没有第二个参数

         console.log(parseFloat("10qq"));//10
         console.log(parseFloat("0xAF"));//0
         console.log(parseFloat("23.1.4"));//23.1
    

      

    三、字符串转换

    1、toString()方法

    返回相应值的字符串表现

    数值、布尔值、对象和字符串值都有toString()方法。但null和undefined没有这个方法

    可以传递一个参数:输出数值的基数。通过传递参数,可以输出二进制、八进制、十六进制及其他有效进制格式表示的字符串值

    var age=11;
    console.log(age.toString());//"11"
    var b1=true;
    console.log(b1.toString());//"true"
    var num=10;
    console.log(num.toString());//"10"
    console.log(num.toString(2));//"1010"
    console.log(num.toString(8));//"12"
    console.log(num.toString(10));//"10"
    console.log(num.toString(16));//"a"
    

    2、String()函数

    遵循规则:

    (1)如果值有toString()方法,则调用这个方法

    (2)如果值是null,则返回"null"

    (3)如果值是undefined,则返回"undefined"

    var value1=10;
    var value2=true;
    var value3=null;
    var value4;
    
    console.log(String(value1));//"10"
    console.log(String(value2));//"true"
    console.log(String(value3));//"null"
    console.log(String(value4));//"undefined"
    

      

  • 相关阅读:
    Java 学习笔记- classpath classpath*
    Java this关键字 学习笔记
    Java 基础 类加载器和双亲委派机制 学习笔记
    《Java语言实现快速幂取模》
    《2017年内蒙古自治区第十二届大学生程序设计-超级密码》
    《快速排序》
    《01-背包问题-点菜》
    微信小程序相关二、css介绍,菜单制作,表单相关,京东注册页面
    微信小程序相关一、模仿京东静态登录页面
    分别用js和css实现瀑布流
  • 原文地址:https://www.cnblogs.com/aimee2004/p/5149489.html
Copyright © 2011-2022 走看看