JavaScript基础学习--06js数据类型

 

一、ECMAScript:标准、核心,规定js中的语法、数据类型     (eg.  HTML标签类型:block、inline、inline-block、table……)
     1、js数据类型
          1.1     number
          1.2     string
               1.2.1     str.charAt(index)
          1.3     boolean
          1.4     function
          1.5     object     (除了null,每个对象都可以obj.XXX添加属性)
               1.5.1     array 也是object类型
               1.5.2     json 也是object类型
               1.5.3     null 也是object类型
          1.6     undefined
     
     2、数据类型判断:typeof     (eg.  typeof i)
 
     3、数据类型之间的相互转换     (数据类型转换失败,无论是否是数字,都是NaN)
          3.1.     显式类型转换(强制类型转换)Number()、parseInt()、parseFloat()
          3.1.1     Number();     方法,类似于alert() 方法,可以直接用的。
               3.1.1.1     Number();     可以将除了function、json、undefined、复杂array和复杂object类型的值转换成数字,成功是数字(包括null、[]、true、false、),失败是NaN
               3.1.1.2     Number('123px');     //NaN          Number('123')     //123
 
          3.1.2     parseInt();     只能提取string类型的值,从左到右转换,遇到数字开始,遇到非数字截止。注意:+-符号是数字的一部分会被提取,不认小数
               3.1.2.1     parseInt('12px', 10);     //第二个参数是表示转换进制,10十进制,8八进制,16十六进制。默认十进制
 
          3.1.3     parseFloat();     转成浮点数,认识小数,并只认一个小数点
               3.1.3.1     验证数字是整数还是小数
      if(parseInt(num) == parseFloat(num)){......}else{......}
 
          3.2     隐式类型转换     
               3.2.1     -  *  /  %  ++  --  隐式转化成数字再进行操作
               3.2.2     +     隐式转化成字符串再操作
               3.2.3     >    <      隐式转化成数字或者字符串     eg.  if('10' > 9)//true     if('10' > '9')//false
               3.2.4     !取反
               3.2.5     ==     隐式转换之后,再进行比较。注意,===先判断类型,再判断值,如果类型不一样,不进行转换,直接false
 
     3、NaN     ( not a number )     typeof(Number('aaa'))     //number     表示不是 一个数字 的数字类型
          3.1     出现NaN表示进行了非法运算
          3.2     NaN是false
          3.3     NaN和自己不想等(if(NaN === NaN)//false)
          3.4     是数字类型,但不是数字
          3.5     isNaN()     是不是不是一个数字,即不是数字     可以判断是否是数字
               3.5.1     其不喜欢数字,如果是数字,就是false。否则就是true     eg.     if( isNaN(5) )     //false
               3.5.2     和Number是好盆友,内部验证的值都是经过Number转换之后的--》if( isNaN( '22' ) )     `//false     --》isNaN() 不讨厌数字类型,讨厌数字。
               3.5.3     判断是不是数字,过滤掉非数字     但是相对于类似‘22’也会成为数字--》过滤纯数字不完善
          
     4、读 | 取HTML中的内容,均是字符串
 
 
 
 
posted @ 2017-08-11 10:42  HelenJ  阅读(159)  评论(0编辑  收藏  举报