最近感觉自己步入了新的阶段,想把以前的知识都捡起来,复习一下,温故而知新嘛,这一篇主要是关于数据和变量的存储
基本数据类型(栈):Number、null、undefined、String、Boolean、Symbol(Symbol为ES6新增)
引用数据类型(堆):object(其中包括array、function、Date)
1、从电脑内存中分配出一块内存,用来执行代码(栈内存——>stack)
2、分配一个主线程来自上而下执行JS代码
例如:let a = 12
步骤一:创建变量a,将a放到栈内存的变量存储区
步骤二:创建值12,将12放到栈内存的值存储区
步骤三:“=”为赋值,将值与变量关联起来
步骤一:内存中分配出一块新内存,存引用类型值(堆-heap)=====> 内存有个十六进制地址
步骤二:对象中的键值对依次存储到堆内存中
步骤三:把堆内存地址和变量通过“=”关联起来
例子如图:
注意:JS的赋值特点是关联,不是拷贝
typeof返回值有六种:number、string、boolean、undefined、object、function
JS有两种特殊数据类型:null 和 undefined