3.4的变量问题

3.4的变量问题

		var a=[4];
		var b=a;
		a=[4,44];
		console.log(b)

a不是引用类型么? 为什么赋值为[4,44]后。打印b还是4呢

正在回答

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

2回答

你好,数组是引用类型。a=[4,44]操作是对a变量重新赋值,a[0]='4 44'才是更改a变量的内存。像你举出的例子一样:xm.name=3; 只是对xm的对象新增了一个成员属性而已,从而更改了内存,并没有对xm对象重新定义。希望能帮助到你!

怎么都被占用了呢 2017-05-23 18:17:19

你好,第三步的时候,更改内存方式不正确,可以参考图中代码调试http://img1.sycdn.imooc.com/climg//59240bf90001127c04900168.jpg,如能帮助到你,请采纳!祝学习愉快

  • 提问者 洞庭兮木叶下 #1
    可是视频里说的是引用类型的变量直接复制的时候,其中一个变化另一个也会跟着变化,难道[]数组不算是引用类型么。。。比如var xm={ age:16, }; var xh=xm; xm.name=3; console.log(xh) 打印的xh有name和age两个的值。
    2017-05-24 09:26:09
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

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

在线咨询

领取优惠

免费试听

领取大纲

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