js引用

引用也是一个比较有意思的主题,JavaScript中的引用始终指向最终的对象,而并非引用本身,用个例子来解释一下。

var obj = {} var ref = obj; obj.name = "objectA" console.log(ref.name);//ref跟着添加了name属性 obj = ["one", "two", "three"];//obj指向了另一个对象(数组对象) print(ref.name);//ref还指向原来的对象 print(obj.length);//3 print(ref.length);//undefined
运行结果:

  objectA
  objectA
   3
  undefined

  obj只是对一个匿名对象的引用,所以,ref并非指向它,当obj指向另一个数组对象时可以看到,引用ref并未改变,而始终指向那个后来添加了name属性的"空"对象”{}”。理解这个之后,下面这个例子就不难了:
    原文作者:theWalker
    原文地址: https://segmentfault.com/a/1190000000650182
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞