分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

js 值和引用

发布时间:2023-09-06 01:37责任编辑:苏小强关键词:js

1、概述

简单值(基本类型)通过值复制的方式来赋值/传递。

复合值(对象)通过引用复制的方式来赋值/传递。

<!DOCTYPE html><html lang="zh"> ???<head> ???????<meta charset="UTF-8" /> ???????<title>值和引用</title> ???</head> ???<body> ???????<script type="text/javascript"> ???????????var a = 2; ???????????var b = a; ???????????b++; ???????????//2是基本类型(位于常量池),a是该值的一个副本,b是另外一个副本,b改变时不影响a ???????????console.log(a); //2 ???????????console.log(b); //3 ???????????var c = [1, 2, 3]; ???????????var d = c; ???????????d.push(4); ???????????//c和d都是执行数组(位于堆中)的2个不同引用。他们更改的是同一个值。 ???????????console.log(c); //[1,2,3,4] ???????????console.log(d); //[1,2,3,4] ???????</script> ???</body></html>

结合内存示意图,理解会更深刻。

简单类型的值在常量池只有一份,变量a和变量b都是常量池中2的一个副本。

变量c和变量d都是指向堆中的一个住数组。

js 值和引用

原文地址:https://www.cnblogs.com/mengfangui/p/8297468.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved