理解JavaScript中值类型和引用类型

本文详细介绍了JavaScript中的值类型和引用类型。值类型包括基本数据类型如字符串、数字等,特点是按值传递;引用类型包括对象、数组等,特点是按引用传递。通过实例演示了不同类型在赋值和修改过程中的行为差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

理解值类型和引用类型

在JavaScript中进行数据操作的时候可以将其划分为值类型和引用类型

值类型

值类型即按值传递的数据类型
包括:string、number、boolean、null、undefined
特点:值类型的名和值存储在同一内存空间中
在值类型进行赋值的时候,其实是将其进行了复制(副本)并赋值
当再改变原始值时不会改变其副本的值

example:

 var str1 = 'haha';
 var str2 = str1;
 console.log(str1);  // => haha
 console.log(str2);  // => haha
 str1 = 'hehe';
 console.log(str1);  // => hehe
 console.log(str2);  // => haha
引用类型

引用类型即按照引用进行传递的数据
包括:对象、数组、函数
特点:引用类型的名和值分别存储在不同的内存空间,通过引用地址(指针)进行连接
在引用类型进行赋值的时候,其实是对引用地址进行了赋值
即所有的赋值操作,就是对指向同一块内存空间的引用地址进行复制并赋值
当改变原始值时,所进行赋值的所有变量的值都会改变

exmple:

var obj1 = {
    myName : '哈哈',
    age : 22
};
var obj2 = obj1;
var obj3 = obj2;
console.log(obj1.myName);  // => 哈哈
console.log(obj2.myName);  // => 哈哈
console.log(obj3.myName);  // => 哈哈
obj2.myName = '呵呵';
console.log(obj1.myName);  // => 呵呵
console.log(obj2.myName);  // => 呵呵
console.log(obj3.myName);  // => 呵呵

https://github.com/PaddyWang/summarize

转载于:https://www.cnblogs.com/PaddyWang/p/5324579.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值