js的变量类型分为基本数据类型和引用数据类型
7种基本数据类型:null, undefined, number, boolean, string(大多数语言中string属于引用数据类型,而在js中它属于基本数据类型),symbol、bigint
引用数据类型object,有6种: 基本object, array, function,数学函数,正则,日期
一般认为:
基本数据类型的变量是数据的实际值,存储在“栈”中,js是弱类型语言,基本数据类型都用8字节内存
引用数据类型的变量的名称,存储在“栈”中,存在指针,指向其真正的值,而其真正的值,存储于“堆”中。
那么问题来了,基本类型闭包的情况下,如果存储于栈中,那函数调用完,栈销毁,闭包变量不就没了吗?
因此补充一点:闭包变量存储于堆中