基本数据类型:number、string、boolean、Undefined、NaN(特殊值)、BigInt、Symbol
引入数据类型:Object
NaN是JS中的特殊值,表示非数字,NaN不是数字,但是他的数据类型是数字,它不等于任何值,包括自身,在布尔运算时被当做false,NaN与任何数运算得到的结果是NaN,计算失败或者运算无法返回正确的数值的就会返回NaN,一些数学函数的运算结果也会出现NaN ,
 
其中Symbol和BigInt是ES6中新增的数据类型:
1,Symbol代表创建后独一无二且不可变的数据类型,它主要是为了解决可能出现的全局变量冲突的问题。
2,BigInt是一种数字类型的数据,它可以表示任意精度格式的整数,使用BigInt可以安全地存储和操作大整数,即使这个数已经超出了Number能够表示的安全整数范围。
 
这些数据可以分为原始数据类型和引用数据类型:
栈:原始数据类型(Undefined、Null、Boolean、Number、String)
堆:引用数据类型(对象、数组和函数)
 
 
区别:
1,基本数据类型是按值访问的,也就是说我们可以操作保存在变量中的实际的值,
2,基本数据类型的值是不可变的,任何方法都无法改变一个基本类型的值,当这个变量重新赋值后看起来变量的值是改变了,但是这里变量名只是指向变量的一个指针,所以改变的是指针的指向改变,该变量是不变的,但是引用类型可以改变
3,基本数据类型不可以添加属性和方法,但是引用类型可以
4,基本数据类型的赋值是简单赋值,如果从一个变量向另一个变量赋值基本类型的值,会在变量对象上创建一个新值,然后把该值复制到为新变量分配的位置上,引用数据类型的赋值是对象引用,
5,基本数据类型的比较是值的比较,引用类型的比较是引用的比较,比较对象的内存地址是否相同
6,基本数据类型是存放在栈区的,引用数据类型同时保存在栈区和堆区

最新文章

  1. 怎么使用CDR中排列对象功能
  2. WhatFontIs - 字体百科全书,没有不认识的字体
  3. Unity-WIKI 之 AllocationStats(内存分配)
  4. Win7下手动卸载oracle 11G
  5. nosql简述
  6. HTML初讲
  7. dbs:apple-notes
  8. Codeforces Round #200 (Div. 1) B. Alternating Current 栈
  9. 启动RIDE时报错:wxPython not found
  10. Cinder-2 窗口的创建过程
  11. HDU 4380 Farmer Greedy 计算几何+bitset
  12. 常用的opengl函数(三)
  13. 实现多条件模糊查询SQL语句
  14. 在webapi中为Action使用dynamic参数实现Post方式调用
  15. Python连接MySQL数据库的多种方式
  16. formated time string for file naming
  17. MSSQL sql server 2005/2008 row_number()函数应用之–删除表中重复记录,只保留一条不重复数据
  18. Docker Kubernetes 创建管理 Pod
  19. Linux 只列出目录的方法
  20. 使用POI导出Excel文件

热门文章

  1. 帝国CMS 给简介字段添加一键排版按钮
  2. Gitlab图床配置
  3. Java学习day36
  4. 算法基础⑨搜索与图论--存在负权边的最短路--bellman_ford算法
  5. .NET 7 Preview 3添加了这些增强功能
  6. nodejs的TCP相关的一些笔记
  7. PHP的Laravel与Composer部署项目时常见问题
  8. IDEA通过Jedis操作Linux上的Redis;Failed to connect to any host resolved for DNS name问题
  9. Halo 开源项目学习(二):实体类与数据表
  10. CentOS 8配置本地yum源及DNF简介