js 值类型和引用类型

在 JavaScript 中,数据类型可以分为两种:基本数据类型和引用数据类型。

基本数据类型包括:数值型(number)、字符串型(string)、布尔型(boolean)、空值(null)和未定义(undefined)。这些数据类型的值是简单的值类型,它们在赋值时直接复制其值,是按值访问的,也就是说,当将一个值类型赋值给一个变量时,该变量存储的是这个值本身。

引用数据类型包括:对象(object)、数组(array)、函数(function)等。引用数据类型的值是对象,存储的是对象的引用地址,这些地址是按引用访问的。当将一个引用类型的值赋给变量时,实际上是将该值的引用地址赋给了变量,而不是复制该值本身。

 注意:虽然null是值类型,但是在typeof 的结果是 object

举个例子:

// 值类型
var a = 1;
var b = a;
b = 2;
console.log(a); // 输出1,a的值没有改变
console.log(b); // 输出2,b的值改变了

// 引用类型
var c = {name: 'John'};
var d = c;
d.name = 'Mike';
console.log(c.name); // 输出'Mike',c的属性值改变了
console.log(d.name); // 输出'Mike',d的属性值改变了

可以看出,当复制值类型时,变量之间是互不干扰的,而复制引用类型时,变量之间实际上是共享同一个对象的引用地址,因此它们之间的操作会互相影响。

参考链接 : js 值类型和引用类型 – 萌新小试 (sunn.asia)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值