JavaScript高级基础:关于引用变量的赋值问题以及值传递

关于引用变量的赋值问题

###2个引用变量指向同一个对象, 通过一个引用变量修改对象内部数据, 另一个引用变量也看得见
* 例如:
* var a = {
* n: 123
* }
* var b = a;
* a.n = 456;
* console.log(b.n); //456

工作图例:

###2个引用变量指向同一个对象,让一个引用变量指向另一个对象, 另一个引用变量还是指向原来的对象

* var a = { * n: 123 * } * var b = a; * a = { * n: 456 * } * console.log(b.n); //123

工作图例:

注意: 第二种情况创建新的a,地址值改变,但是b还是指向原来的地址值

关于值的传递问题

  • 调用函数传递变量参数时候,时值传递还是引用传递?
    • 两种说法:
      • 值传递的对象的引用,引用传递
      • 只有值传递,没有引用传递。传递的都是变量的值,这个值可能为基本的数据,也可以值地址数据
    • 例如
    • var a = 123; test(a); //值传递 a = {}; test(a); //值传递,地址值 //引用传递

猜你喜欢

转载自blog.csdn.net/xzz2222/article/details/80379229