专栏首页web前端JavaScript基础学习--06js数据类型

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中的内容,均是字符串

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JavaScript基础学习--09运算符、程序流程控制

    Demos:   https://github.com/jiangheyan/JavaScriptBase 运算符 一、模%     i % num ---...

    用户1148399
  • myEclipse6.5与数据库(SQL Server2008)连接遇到的问题<用SSH框架的时候,用servlet+javabean+jsp的时候>

    昨天因为学习SSH框架的搭建,时隔一年又重新遇到了myEclipse连接数据库的问题。废话不多说,上干货 (以下全部按照我遇到的问题的顺序,也就是没有顺序,就是...

    用户1148399
  • JavaScript基础学习--10 return、定时器基础

    Demos:   https://github.com/jiangheyan/JavaScriptBase 一、return      1、返回值:数字、字...

    用户1148399
  • Pandas-15.window函数

    悠扬前奏
  • SpringBoot各类扩展点详解

      上篇文章我们深入分析了SpringBoot的一站式启动流程。然后我们知道SpringBoot的主要功能都是依靠它内部很多的扩展点来完成的,那毋容置疑,这些扩...

    阿豪聊干货
  • 【HTB系列】靶机Netmon的渗透测试

    总结和反思: 1. win中执行powershell的远程代码下载执行注意双引号转义 2. 对powershell代码先转为windows上默认的Unicode...

    徐焱
  • Vue项目部署问题及解决方案

    Vue-Router 有两种模式,默认是 hash 模式,另外一种是 history 模式。

    半指温柔乐
  • iOS 性能监测之FPS

    且行且珍惜_iOS
  • JAVA代码覆盖率工具JaCoCo-实践篇

    上周 JAVA代码覆盖率工具JaCoCo-原理篇 简单介绍了JaCoCo其生成覆盖率的基本原理,这周的实践篇的主要内容就是将原理应用到实践中,本篇内容全部都是具...

    腾讯移动品质中心TMQ
  • HTTP/2协议之连接前言【原理笔记】

    HTTP/2在传输数据之前,先建立连接,建立HTTP/2连接的标记为Client发送连接前言Magic。HTTP/2属于应用层,位于TPC/IP及安全传输层协议...

    瓜农老梁

扫码关注云+社区

领取腾讯云代金券