关于引用变量赋值问题

n个变量指向同一个对象,通过一个变量修改对象的内部数据,其他变量看到的是修改之后的数据
n个变量指向同一个对象,让其中一个变量指向另一个对象,其他变量依然指向前一个对象


var obj1 ={name:'Tom'}
var obj2=obj1
obj2.age=12 //修改对象的内部数据
console.log(obj1.age) // 12 看到的是修改后的数据
function fn(obj){
obj.name='A'
}
fn(obj1)
consoloe.log(obj2.name) //A


var a= {age:12}
var b= a
a={name:"Jack",age:"13"} //指向另一个对象
console.log(b.age,a.age,a.name) // 12,13,Jack

function fn(obj){
obj={age:20}
}
fn(a)
console.log(a.age) //13 a 和obj指向同一个对象 但obj对象又指向了新的对象,所以变量a仍然指向原来的对象

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 12,378评论 2 17
  • JavaScript(面向对象+原型理解+继承+作用域链和闭包+this使用总结) 一、面向对象 1、什么是面向对...
    老头子_d0ec阅读 2,325评论 0 0
  • ECMAScript简称就是ES,你可以把它看成是一套标准,JavaScript就是实施了这套标准的一门语言 现在...
    最美时光A阅读 2,795评论 0 0
  • 一、你不知道的JavaScript 1、作用域 作用域 LHS RHS RHS查询与简单地查找某个变量的值别无二...
    顶儿响叮当阅读 2,750评论 0 0
  • 一、Node快速体验 1、 Node介绍 (1) Node.js是什么 Node 是一个基于Chrome V8 ...
    宠辱不惊丶岁月静好阅读 8,725评论 0 6