JS九种数据类型

261 阅读3分钟

JS九种数据类型

我们知道一个页面的搭建少不了三大部分:

  • HTML 搭建基本骨架
  • css 完善页面样式
  • JavaScript 实现人机交互+页面中的数据动态绑定...

而JavaScript作为其中的重中之重,更是我们应该熟练掌握的,下面我们从数据类型入手来看一下JS的一些基础内容

数据类型-基本数据类型

数字类型:Number

  • 所有数字都是数据类型:0 -1 0.1 NaN Infinity
  • NaN=>not a Number 不是一个数字,但是是属于number数据类型的
    • NaN==NaN //=>false(NaN和任何值都是不相等的)
    • isNaN([value]):基于此方法来验证是否为非有效数字如果是有效数字,返回false,如果不是有效数字,返回true(若不是数字类型,则默认转换为数字类型然后再去验证)
  • Infinity:无穷大的值,超出1.7976931348623157E+103088 的数值即为Infinity
  • -Infinity无穷小的值 字符串:string
  • 只要用``(撇),''(单引号),""(双引号) 包起来的都是字符串
  • 每一个字符串都是0-多个字符组成的
  • 字符串的基本操作,用 + 号就可以将两个字符串连接起来
  • 字符串中有两个基本属性length(字符串的长度)和索引(从0开始依次递增)

布尔类型:Boolean

  • Boolean类型只有两个值:true、false。
  • true和false也就等价于1和0
  • true和false这两个值和数字0、1是两回事,true不一定就是1,false也不一定就是0。
  • NaN,空字符串,null,0,undefined五种情况在转换为布尔类型时为false其余为true

null/undefined

  • null和undefined是两种特殊的数据类型null代表的是空,undefined代表的是未定义
  • 某种意义上null是等于undefined的,但是他们又是两种不同的数据类型

唯一值:symbol - 每一个symbol值都是唯一值 - 在Symbol函数前不能使用new命令,否则会报错。

BigInt

  • JS中的number类型只能安全的表示-9,223,372,036,854,775,808到 9,223,372,036,854,775,807)之间的整数,一旦超过就容易出错
  • 任何整数加上n就代表bigint类型
引用数据类型
  • 对象类型
    • 普通对象 {xxx:'xxx'}
1. 普通对象是由零到多组“键值对”(属性名和属性值)组成的{key:value,...}
   + 属性名(键)不是变量,它是对象的一个属性(特征)
   + 属性名一般都是一个字符串(当然也可以是数字或者Symbol等基本类型的值)
   + 属性名不能是对象,对象作为属性名,浏览器会把其转换为字符串
   + 可以通过对象.属性名直接获取

    • 数组对象 [10,20]

    • 正则对象 /^\d+$/

    • 日期对象 new Date=>Tue Oct 27 2020 03:59:46 GMT+0800 (中国标准时间)

    • ... 特殊对象如数组或类数组集合

  • 属性名是数字,并且数字从零开始逐级递增=>有顺序且有规律的数字属性名被称为索引,用来记录每一项的位置信息
  • length,存储集合的长度
  • 函数数据类型
    • 函数创建关键字为function
    • 可以说成是一个方法,是用来实现某一个功能的
    • 在函数执行时可以往里面传各种参数,可以称作是函数的入口
    • 而由于闭包机制导致外界无法接触到函数内的内容,就需要return出去,我们称之为函数的出口