Javascript:如何正确复制引用?

时间:2015-11-08 19:14:27

标签: javascript

我有数组和两个变量。这些变量用于保存对数组项的引用,实际上是为了选择新对象并保持先前​​选择的对象。此代码使selectedObject和prevselectedObject相同:(

if(newSelection)
{
    if(this.prevselectedObject != newSelection)
    {
        this.prevselectedObject = this.selectedObject;
    }

    this.selectedObject = newSelection;
}
else
{
    this.prevselectedObject = this.selectedObject;
    this.selectedObject = null;
}

猜猜,this.prevselectedObject = this.selectedObject;实际上将prevselectedObject变量引用放入selectedObject。但我想将selectedObject中的引用复制到prevselectedObject。如果value是string或int,那么有值为copy-by-value的脏黑客,但是如何处理引用?

1 个答案:

答案 0 :(得分:0)

好的,看起来它可以工作,然后我决定把它放到答案中。你可以使用slice()

var clone = myArray.slice(0);

或者更有趣:

Array.prototype.clone = function() {
    return this.slice(0);
};

之后将其用作任何数组的克隆函数。

希望它有所帮助。