数据存储在计算机的内存中,分别存储在不同的分区中
存储基本数据类型
布尔类型 数值类型 字符串类型 undefined null.
执行的是有序存储, 先定义的变量,先存储,存储在栈的底部
变量中存储的是赋值的数据数值
调用
调用时,直接调用存储的数值数据
存储引用数据类型
对象,数组,函数
执行的是 无序存储
每一个引用数据类型,操作系统,都会给引用数据类型,开辟有一个存储空间
并且给这个存储空间定义一个 地址称为内存地址
变量/函数名称 实际上是 存储在 栈当中的
每个变量中存储的不是数值数据了,存储的是 这个引用数据类型的内存地址
调用
调用时,通过变量中存储的内存地址找到堆当中存储数据的内存空间/内存地址
然后再调用执行内存空间/内存地址中存储的数据数值/函数程序
必须要记住:
基本数据类型,变量存储数据
引用数据类型,变量存储内存地址
比较判断时
基本数据类型,比较数据类型和数值
// 基本数据类型,比较判断的是数值 var int1 = 100; var int2 = 100; console.log( int1 === int2 ); //true
引用数据数据类型,比较的是内存地址
即使两个完全相同的数据类型,存储空间一定不一样,内存地址,也一定不一样
比较判断的结果一定是 false
// 引用数据类型,比较判断的是地址 // 一定是 不相等 function fun1(){ console.log(123); } function fun2(){ console.log(123); } console.log( fun1 === fun2 ); //flase var arr1 = [1,2,3,4,5]; var arr2 = [1,2,3,4,5]; console.log( arr1 === arr2 ); //flase var obj1 = {name:'张三'}; var obj2 = {name:'张三'}; console.log( obj1 === obj2 ); //flase
基本数据类型,存储数值相同, 比较 结果就是 true
引用数据类型/复杂数据类型, 存储数值相同, 比较 结果就是 false
Comments | NOTHING