[妙味JS基础]第四课:JS数据类型、类型转换

知识点总结

  • JS数据类型:number数字(NaN)、string字符串、boolean布尔值、函数类型、object对象(obj、[]、{}、null)、undefined未定义
  • typeof 用来判断基本数据类型,instanceof可以判断引用数据类型
  • 显示/强制类型转换( Number()、parseInt()、parseFloat() )
  Number()   =>字符串变数值

    NaN  =>  json、函数、未定义进行运算(var a)、数组里有一堆内容

    null、''、[]  =>0
    true  =>1   false  => 0

  Number([]) => 0
Number(['']) => 0
Number(['123]) => 123
Number([1,2,3]) => NaN
判断值是整数还是小数?? var num = '200.122' if(parseInt(num)==parseFloat(num)){ alert(num+'是整数'); } else { alert(num+'是小数'); } =>200.122是小数
  • 隐式类型转换
  +        =>字符串
    - * / %  =>变数字
    ++ --    =>变成数字
    > <      =>数字的比较、字符串的比较(字符编码),比如:'10'>9 true   '10'>'9' false
    !取反     =>把右边的数据类型转成布尔值,比如:    alert(!'0k')  和 alert(!100)  false
    ==       =>布尔


  • NaN (not a number)
   NaN  出现在程序中,肯定进行了非法运算
    NaN  是数字类型,但不是个数字,例如:var a = Number('abc') alert(a)=>NaN , alert(typeof a)=>number;
    NaN  布尔值里是false;
    NaN  与自己比较   false

console.log(typeof NaN ) =>number ,因为是不是数字的 数字类型,:D
  • isNaN()
  判断某些值是不是数字,是数字,为false,讨厌数字,即isNaN(123)=>false
    isNaN()   true false

    isNaN('null'),isNaN('[]'),isNaN(' "  " ')   =>true,不是数字,因为''引起,认为是字符串
    isNaN(null),isNaN([]),isNaN('')             =>false,通过Number转换成数字0,因此认为是数字
isNaN('123') =>false,通过Number转换成数字了
isNaN(NaN) => true,不是数字,因此NaN是讨厌数字,不讨厌数字类型,NaN是number类型

 

——

posted @ 2014-03-04 18:41  joya  阅读(306)  评论(0编辑  收藏  举报