js 值和引用
2018-06-24 01:18:20来源:未知 阅读 ()
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都是指向堆中的一个数组对象。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- JS简单去除数组中重复项的方法 2020-03-16
- JS判断浏览器是否安装flash插件的简单方法 2020-03-12
- 浅谈JS的基础类型与引用类型 2020-02-29
- JavaScript简单下拉菜单特效 2020-02-22
- Js操作DOM元素及获取浏览器高宽的简单方法 2019-12-31
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash