原始值和引用值
一、基本概念
1、原始值
指原始类型的值,也叫基本类型
例如:Number、String、 Boolean、Null、Undefined
存储在 栈(stack),值存储在变量访问的位置
2、引用值
指引用类型的值
例如:Object、Function、Array、Date、RegExp ...
存储在 堆(heap),值是一个指针,指向存储对象的内存处
二、原始值和引用值的不同
1、赋值方式
原始值 是以“值”的拷贝方式赋值,值是不可变的
引用值 是以“引用”的拷贝方式赋值,值是可变的
2、比较方式
原始值是 “值” 的比较(即使数据类型不同[隐式转换],也可以进行值的比较)
// 原始值
var a = 1;
var b = true;
console.log( a==b); //true
console.log( a===b); //false
引用值是 “引用” 的比较(堆内存中不同的对象)
// 原始值
var obj1 = {};
var obj2 ={};
console.log( obj1==obj2); //false ==只 比较值
console.log( obj1==obj2); //false === 不仅比较值,还比较数据类型


本文详细阐述了JavaScript中原始值和引用值的区别,包括它们的存储方式、赋值及比较方式等,并通过实例帮助理解。
184

被折叠的 条评论
为什么被折叠?



