赋值才会改变引用的地址,但是添加内容不会改变地址

赋值才会改变引用的地址,但是添加内容不会改变地址

如何正确理解并运用?

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
	<title>变量、作用域</title>
</head>
<body>
<script type="text/javascript">
    var a = {name: 'xm'}, b = [4];
	/*此处添加代码*/
	a=[a,b];
	b=a[0];
	a=a[1];
</script>
</body>
</html>

请问为什么不需要赋值var?

var a=[a,b];

var b=a[0];

var a=a[1];


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,问题解答如下:

1、有var是重新声明变量,不是重新赋值。

2、arr=[3,4]是重新赋值。3-9练习没有问题,如下图:

http://img1.sycdn.imooc.com//climg/5e01849b09b74efa06020381.jpg

自己在理解下,不要搞混哦,祝学习愉快!

  • 迷失的小麦 提问者 #1
    能不能再问问重新声明变量与重新赋值有什么区别
    2019-12-24 11:45:25
好帮手慕星星 2019-12-23 15:31:23

同学你好 ,问题解答如下:

1、关于引用类型添加内容以及赋值的情况可以看下图:

http://img1.sycdn.imooc.com//climg/5e006a710913e4ce06580487.jpg

http://img1.sycdn.imooc.com//climg/5e006ad9090996d103090136.jpg

2、代码实现结果没有问题,很棒!

练习中要求不使用第三个变量来调换值,如果用了var相当于重新声明了一个数组:

http://img1.sycdn.imooc.com//climg/5e006d4109a8ac6400000000.jpg

然后把a和b放在新的数组中了,所以不需要用var声明,直接赋值就好。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 提问者 迷失的小麦 #1
    在重新赋值的时候,arr=[3,4]与var arr=[3,4]有什么区别
    2019-12-24 10:18:15
  • 提问者 迷失的小麦 #2
    不是说有var才是重新赋值吗?
    2019-12-24 10:19:05
  • 提问者 迷失的小麦 #3
    老师,你这个回答中是不是讲解错了,你可以看看3-9选择题,如果arr=[3,4]是重新赋值的话,答案就不对了
    2019-12-24 10:35:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师