一.JS中的数据类型
js中的数据类型可以分为七种:string 、number、boolean、symbol、 underfine 、null和object。
string:字符串类型,右数字字母字符串以及标点符号组成,必须放在单引号或者双引号中。
number:数字类型 ,整型浮点型都包括。
boolean:布尔类型,只有true和false两种值。
symbol:ES6新增数据类型。
underfine:未定义,一般指的是已经声明,但是没有赋值的变量,如var a;
null:空对象类型,var a = null,和var a=""有区别;
object:对象,对象就是把一些彼此相关的属性和方法集合在一起构成的一个数据实体,在js常见的有window,document,array等。
需要注意的是,NAN不是单独的一种数据类型,它是表示不是数字值的特殊值,可以理解为Number的一种特殊类型,只有当在js运算中发生数据类型转换时提示,isNaN()方法是特有的对数据进行判断的 ,如果是数字返回false,不是数字返回true。
二.数据类型转换
在js当中,不同的数据类型可以相互转换,一下是常见的不同数据类型转换的用法。
任意类型转换为字符串
1.String(x)函数

2.x.toString()

3.x + ''

任意类型转数字
1.Number(x)
2.parseInt(x, 10)
3.parseFloat(x)
4.x - 0
5.+x

任意类型转布尔
1.Boolean(x)
2.!!x

了解了JS的数据结构及转换类型后,我们还应该清楚JS里面的各种数据类型是以怎样的形式存放在电脑里的,这就需要运用一些内存的知识。方方老师深入浅出的介绍了内存图,让我明白了数据是怎样被存储的,以下就是关于内存图的相关知识。
假设你买了一个8G内存条,以下就是内存怎么分布的:
1.操作系统开机即占用 512MB
2.Chrome 打开即占用 1G 内存
3.Chrome 各每个网页分配一定数量的内存
4.这些内存要分给页面渲染器、网络模块、浏览器外壳和 JS 引擎(V8引擎)
5.JS 引擎将内存分为代码区和数据区, 我们只研究数据区
1.数据区分为 Stack(栈内存) 和 Heap(堆内存)
2.简单类型的数据直接存在 Stack 里
3.复杂类型的数据是把 Heap 地址存在 Stack 里
知道数据怎么分布,我们就可以画内存图,关于数据存储的相关问题我们都可以通过画内存图来解决。
网友评论