JavaScript 数据的基本存储原理
JavaScript中数据都是存储在内存中。
1、基本数据类型
存储在内存的栈中,变量和数据都直接存储在栈中。
属于有序存储
先定义的变量存储在栈的底部
后定义的变量存储在栈的顶部
2、引用数据类型
存储在内存的堆中。
属于无序存储
a、先在堆中开辟一个独立的存储空间,准备存储引用数据类型数据,
操作系统会给这个存储空间分配一个独立的内存地址,
函数程序代码以 字符串形式 存储在独立的存储空间中。
b、函数名称/变量名称 存储在内存的栈中,
函数名称/变量名称中存储的是引用数据类型的内存地址。
**3、基本数据类型比较判断的是数值数据,
引用数据类型比较判断的是内存地址,
两个 引用数据类型比较判断结果永远是 false。
function fun1(){
console.log( 111 )
}
console.log( fun1 );
function fun2(){
console.log( 111 )
}
console.log( fun2 );
console.log( fun1 == fun2 );
console.log( fun1 === fun2 );

JavaScript函数执行步骤
JavaScript函数执行步骤的第一次亲密接触
1、封装
(1) 在堆中开辟一个独立的存储空间,准备存储函数程序,
操作系统给独立的存储空间赋值内存地址
(2) 将函数程序以字符串的形式存储在独立的存储空间中
(3) 将函数名称/变量名称 存储到内存的栈中,
函数名称/变量名称中存储的是函数的内存地址
2、调用
(1) 读取/解析 存储在栈中的函数名称/变量名称中存储的内存地址,
找到堆中对应的独立的存储空间,读取其中存储的字符串程序代码。
(2) 给形参赋值实参
(3) 执行JavaScript的预解析/预编译/预解释
(4) 函数程序的调用执行