JavaScript的数据类型

1.数据类型的分类

  • js中的数据类型分为两大类:基本数据类型和引用数据类型
  • 基本数据类型分为:number、string、boolean、null、undefined
  • 引用数据类型分为:Object对象、Array数组、RegExp正则、Date时间对象、Math数学对象

2.基本数据类型和引用数据类型的区别

  • 基本数据类型存储在栈内存中,引用数据类型存储在堆内存中
  • 数据存储时,基本数据类型在变量中存的是值,引用数据类型在变量中存储的是空间地址
  • 基本数据操作的是值,引用数据类型操作的是空间地址

3.堆栈内存

  • 堆内存和栈内存是浏览器形成的两个虚拟内存
  • 栈内存主要用来存储基本数据的值;供js代码执行;栈内存是一种简单存储,存储的数据都有范围上限,一旦超过上限,就会溢出;
  • 堆内存主要用来存储引用数据类型

4.数据类型-Number

  • js只有一种数值类型,包含小数和整数
  • NaN也是数值类型,代表不是一个数字
  •  isNaN(): isNaN 这个方法执行时,会先把要校验的值强制转换成number类型的;然后再进行判断;如果是一个有效数字,返回true,如果不是一个有效数字,返回false
  • Number(): 将其他数据类型的值强制转换成number类型;要把其他数据类型转换成number时,首先会调用toString(),转换成字符串
  • ParseInt(): 用于从一个字符串中提取数字的方法,对字符串从左到右识别,直到遇到一个非有效数字停止,返回匹配的数字,如果第一个字符是非有效数字,返回NaN
  • ParseFloat(): 和parseInt用法一样,区别是ParseFloat多识别一位小数点

5.数据类型-String

  • 在js中用引号包含的文本内容称之为字符串,可以是单引号也可以是双引号(注意引号是成对出现的)
  • 索引: 在字符串中,每个字符都有一个与之对应的索引,这个索引是一个数字,从字符串最左侧开始,第一个字符的索引为0,依次递增;可以通过索引找到字符串中的某个字符
  • length:字符串有一个length属性,属性值代表的是当前字符串中字符的个数
  • +:拼接符,用来拼接字符串

6.数据类型-Boolean

  • 布尔类型常用在条件判断中,他只有两个值true(对)和false(错)
  • Boolean(): 把其他类型的值转换成布尔类型,返回值只可能是true或false
  • 在js中只有0、空字符串、null、undefined、NaN这五个值转成布尔值时是false,其余都是true
  •  ! : 取反,该符号首先会把后面的值转换成布尔值,然后取反;连用两次取反,会隐式的将其他数据类型转换成布尔型;(例:!!”aa” ===true)

7.数据类型-Null和Undefined

  • null和undefined都表示没有;null表示现在没有以后可能有,用来占位;undefined表示现在没有定义,现在没有以后也没有

8.js中的数据类型-对象

  • 对象是由键值对组成,每组键值对由逗号隔开,键值对由键(属性名)和值(属性值)组成;键和值之间用冒号隔开,前面是键后面是值;(例:{a: 1})
  • 对象的定义:
    1. 首先会开辟一块堆内存空间
    2. 把对象的键值对存储都该空间中
    3. 把该空间的地址赋值给变量
    4. 变量中实际存储的时一个十六进制的空间地址,这个地址是浏览器分配的
  • 对象没有length属性
  • 获取对象下的某个属性的值:(对象名.属性名)(对象名[属性名])
  • 新增键值对:(对象名.新属性名=属性值)(对象名[新属性名]=属性值)
  • 修改键值对:(对象名.属性名=属性值)(对象名[“属性名”]=属性值)
  • 删除键值对:(delete 对象名.属性名)(delete 对象名[“属性名”])

9.js中的数据类型-数组

  • 数组由数组成员项组成,成员项之间由逗号隔开;(例: [1, “a”])
  •  length: 数组由length属性,属性值代表数组成员项的个数;
  • 索引:索引从0开始,依次递增,与数组的成员项一一对应;
  •  数组的定义:
    1. 首先在堆内存中开辟一块空间
    2. 将数组的成员项通过,索引值一一存储
    3. 把空间地址赋值给变量
    4. 变量中存储的是一个十六进制的空间地址
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值