Javascript变量跟踪他们的副本?

这个问题在这里已经有了答案:

  • 在JavaScript中深入克隆对象的最有效方法是什么? 57个答案
  • JavaScript是传递引​​用还是传值语言? 29个答案

  • 前进行中的get方法返回对模型中的layerIds对象的引用:

    var d = this.model.get('layerIds');
    

    d上的maplayer属性被设置时,参考也被操纵。 基本上dthis.model.get('layerIds')将从内存中返回相同的对象。

    d.mapLayer = view.getId();
    

    如果你检查了两者之间的平等,你会发现它们是同一个对象。

    d === this.model.get('layerIds') // true


    从Javascript引用与价值:

    “Javascript总是按值传递,但是当一个变量引用一个对象(包括数组)时,”值“是对该对象的引用。”

    this.model.get('layerIds'); //  returns an object : {mapLayer: null}
    
    链接地址: http://www.djcxy.com/p/20817.html

    上一篇: Javascript variables keep track to their copies?

    下一篇: Why does my function change the argument when it modifies an array?