JavaScript中类型转换 typeof

typeof的返回值

1.number
2.string
3.boolean
4.object        (null...)
5.function
6.undefined

类型转换

1.显示类型转换

  • Number()

      Number(null)-->0
      Number(undefined)-->NaN
      将括号里面的转换为数字类型,如果不是数字转换为NaN
    
  • parseInt()

     将括号里面的转换为整型数字,小数点后面的直接去掉,parseInt(true).....都转换为NaN
     var demo = "10";
     var num = parseInt(demo,16);
     以16进制为基底进行转换为10进制
     
     var demo = "123abc";
     var num = parseInt(demo);
     num = 123;
     parseInt从数字位开始看,到非数字位截止
    
  • parseFloat()

      与parseInt()基本相同,从数字位开始,到第一个小数点后面非数字位截止
      var demo = "123.1abd";
      var num = parseInt(demo);
      num = 123.1
    
  • toString()

      var demo = 123;
      var num = demo.toString();
      将数字123转换为字符串"123"
      (undefined,null不可以使用toString方法)
    
      也可以实现进制之间的转换
      var demo = 10;
      var num = demo.toString(8);
      将十进制的10,转换为八进制num = 12
    
  • String()

      将括号里面的转换位字符串
    
  • Boolean()

      将括号里面转换为布尔值(true,false),除了(undefined,null,NaN,"",0,false)这6个值转换为false,其他都转换为true
    

2.隐式类型转换

隐式类型转换内部调用显示类型转换的方法

  • isNaN() -->Number()

      先将括号里的变量用Number方法进行转换,然后再将转换的结果与NaN进行比对,是就返回true,不是就返回false
    
  • ++/-- +/- --Number()

      调用的也是Number方法,转换后该值的类型为number
      当+号两边有一个为字符串类型时就调用String()方法
    
  • -*/% – Number()

      "a" * 1 --->Number("a") * Number(1) --->NaN *1
      转换后的类型为number
    
  • &&||!

  • < > <= >=

      当字符串与数字比较时,都转换为数字比较
    
      1>2>3  返回结果为false
      1>2的结果为false,再将false转换为0,0>3结果为false
    
  • == !=

      特殊(undefiner == null)
    

3.不发生类型转换

  ===和!==(绝对等于和绝对不等于)

4.补充

当a未定义
typeof(typeof(a))
最终的返回结果为string
最里面的typeof(a)返回结果为"undefined"字符串类型的undefined

全部评论

相关推荐

07-30 11:52
门头沟学院 Java
美团暑期实习没投递成功,这次正式批的北斗计划总该有我的一部分了吧!
求职的纳鲁多:大佬投我就不投了,毕竟王不见王,避你锋芒
点赞 评论 收藏
分享
zzzzhz:兄弟你先猛猛投简历至少三百家,能约到面试就去面。最近可以速成智能小车,智慧家居烂大街的项目,不需要自己写,只需要把里面的代码讲解看明白就行。把其中涉及到的八股文都拿出来单独背一下,我去年找工作就一个智能小车智慧家居找了10k差不多。
点赞 评论 收藏
分享
熊大不大:哈哈,你就说你是男生,也是受害者
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务