200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 后端如何接收对象类型的数据_javascript基本数据类型赋值和对象引用的内存情况分析...

后端如何接收对象类型的数据_javascript基本数据类型赋值和对象引用的内存情况分析...

时间:2019-11-27 00:04:20

相关推荐

后端如何接收对象类型的数据_javascript基本数据类型赋值和对象引用的内存情况分析...

let c = {name: '我的对象' } let d = c; console.log(c, d); // {name: "我的对象"} {name: "我的对象"} d.name = "我是改变后的对象"; console.log(c, d); // {name:"我是改变后的对象"}{name:"我是改变后的对象"}复制代码

第一次输出c和b是c对象的原始值,后面我们改变了b对象下的name,第二次输出发现两个都被改变了,那为什么a也会被改变呢?

我来看看浏览器内存内部到底发生了什么!!!

打开浏览器内存,可以看到一堆内容,我们过滤掉其他无用的,只选取string类型下面的数据,发现b所修改的内存信息就显示在第二个,点击详情会看到下面红色框里面的内容。

d in system / Context @130419c in system / Context @130419复制代码

后面的@130419就是内存的地址,我们发现d和c的内存地址只是一样的。

基本类型的赋值

上面是对象类型的引用,当引用对象修改之后被引用对象也会被修改。那我们试试看基本类型会不会被修改!

let a = "我是a"; let b = a; console.log(a, b); // 我是a 我是a b = "我是b,我变了"; console.log(a, b); // 我是a 我是b,我变了复制代码

输出结果是给b赋值了"我是b,我变了"之后,a并没有被修改。那我们看看内存发生了什么变化? 在内存页面我们再新建一个快照,结果如下:

/articles/bmY7Brr

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。