“但是a=[4,44]之后改变了a的地址”

“但是a=[4,44]之后改变了a的地址”

那老师讲课视频中,“xh.score++;”没有改变xh的地址吗?

所以什么情况才算做改变地址了呢?

正在回答

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

1回答

同学你好,视频中:

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

这是基本类型的复制,一个变量改变之后,另一个变量是不会改变的。

而引用类型才会有地址,改变了地址也就是改变了变量的赋值。例如开始a=[4],后来给a重新赋值a=[4,44],这就是改变了引用类型的地址。

祝学习愉快!

  • 小章鱼丸 提问者 #1
    是说视频中引用类型的例子啊: var xm={age:18,score:14}; var xh=xm; xh.score++; cosole.log(xh.score); console.log(xm.score);结果都是5,是因为这里引用地址没改变吗? 所以xh.score++运算这种就不属于改变引用地址,a=[4,44]赋值这种就属于改变引用地址?
    2019-01-03 15:45:17
  • 好帮手慕星星 回复 提问者 小章鱼丸 #2
    是的,视频中并没有改变引用地址,xh.score++只是改变了引用地址中的值,并没有改变变量的指向。a=[4,44]这是重新赋值,所以改变了引用的地址。
    2019-01-03 16:38:14
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
组件化思想开发电商网页 18版
  • 参与学习           人
  • 提交作业       467    份
  • 解答问题       4826    个

本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。

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

在线咨询

领取优惠

免费试听

领取大纲

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