• JS 常用的数据类型(一)


    JS常用的数据类型

    基本数据类型

    引用数据类型

    • 对象数据类型 object
          普通对象:用{ } 存放数据
          数组对象:用[ ] 存放数据
          正则对象
    • 函数数据类型 function

    1. 数字类型Number
    包含: 常规数字 和 NaN
    1.1  NaN:not a number
           NaN和任何值都不相等包括它自己(六亲不认)。

    console.log(NaN==NaN)  //false
    console.log(12==NaN)   //false
    console.log('A'==NaN)  //false
    

           所以当我们要判断一个数字是不是有效数字,千万别用NaN来验证。检测数字是否为有效数字可以使用 isNaN (is not a number),如果不是数字返回true,是数字返回false。

    console.log(isNaN('A'))  //true
    console.log(isNaN(3))    //false
    console.log(isNaN('3'))  //false
    

           isNaN的机制是如果判断对象不 是数字类型,会先对对象进行Number转化成数字类型,然后再判断。

    1.2  把其他类型转换数字类型
           转换方法:Number([val])
           a. 把字符串转为数字,只要字符串包含任意一个非有数字字符,结果都是NaN,第一个字符为小数点除外。

    console.log(Number('12.5'))   //12.5
    console.log(Number('12.5px')) //NaN
    console.log(Number('.125'))   //0.125
    console.log(Number('a12.5x')) //NaN
    console.log(Number('')) 	  //0
    

           b. 布尔转换为数字

    console.log(Number(true))    //1
    console.log(Number(false))   //0
    

           c. null 和 undefined

    console.log(Number(null))		//0
    console.log(Number(undefined))  //NaN
    

           e. 对象转数字
    引用类型数据类型转换为数字,是先把他基于toString方法转换为字符串,然后在转换为数字,当字符串转换数字时,就是上面说的方法了(只要字符串包含任意一个非有数字字符,结果都是NaN,第一个字符为小数点除外。)

    console.log(Number({}))  			//NaN
    console.log(Number({name:'10'}))    //NaN
    console.log(Number([])				//0
    console.log(Number([12]))  			//12
    console.log(Number([12,16])) 		//NaN
    

    1.3. parseInt,parseFloat
           对于字符串来说,从左到右依次查找有效数字,直到遇到非有效数字字符停止,不管后面还有没有有效数字,把找到的数字转换为数字类型。

    console.log(parseInt('12.5px'))    // 12
    console.log(parseInt('1A2.5px'))   // 1
    console.log(parseInt('A12.5px'))   // NaN
    console.log(parseInt('true'))      // NaN
    
    console.log(parseFloat('12.5px'))  // 12.5
    console.log(parseFloat('1A2.5px')) // 1
    console.log(parseFloat('A12.5px')) // NaN
    console.log(parseFloat('false'))   // NaN
    

    2.字符串String
    定义:所有用单引号、双引号包起来的都是字符串
    2.1 把其他类型值转换为字符串
           转换方法:[value].toString()
           基本上所有值转换为字符串都是在外边加上双引号即可,除null,undefined,对象等除外。

    console.log('A12.5px'.toString())   // A12.5px
    console.log((NaN).toString())       // NaN
    console.log((true).toString())      //true
    console.log((false).toString())     //false
    console.log((null).toString())		//error
    console.log((undefined).toString()) //error
    console.log(({name:'zs'}).toString()) //[object Object]
    

    2.2 字符串拼接
           四则运算法则中,除加法外,其余都是数学运算,加法可做为字符串拼接符。

    console.log('12'+6)   // 126
    console.log('12'-6)   // 6
    console.log('12px'-6) //NaN
    
  • 相关阅读:
    SeaweedFS上手使用指南
    XyTalk企业即时通讯IM开始开源
    大数据项目相关技术栈(Hadoop周边技术)
    Hive SQL基础操作
    Applet Mode
    快速开始
    NetBeans启动Tomcat报“'127.0.0.1' 不是内部或外部命令”启动失败的解决办法
    运行带distance field的Hiero
    Game Loop的几种实现方式
    20150408
  • 原文地址:https://www.cnblogs.com/wangqilong/p/12540349.html
Copyright © 2020-2023  润新知