首页 > 解决方案 > JavaScript 是否可以制作变量内容的新版本

问题描述

所以首先抱歉我不知道如何问这个不好的问题。我试图做的是将一个变量分配给一个类,然后使用该变量将其特定类的属性的副本添加到一个数组中。所以

var apple = new Item("Apple", 5, 10); var items = []; items.push(new apple)

那行不通,但我想基本上做到这一点,我想知道我将如何去做。

标签: javascript

解决方案


您可以编写一个生成克隆的方法,具体取决于您需要它的具体程度和动态程度。但除此之外,我对 Javascript 原生的任何东西都不太熟悉。

class Person
{
  constructor(name, age, weight)
  {
    this.name = name;
    this.age = age;
    this.weight = weight;
  }

  Clone()
  {
    let myCopy = new Person(this.age, this.weight, this.weight);
    return myCopy;
  }
}

let me = new Person('Eddie', 29, 345);
let myTwin = me.Clone();
console.log(me, myTwin);

一个完整而深入的克隆会有点开销。它很可能必须能够将所有数据类型识别为原始数据类型并对每一种数据类型做出反应。克隆数组可能涉及克隆实际数组和其中的每个值。

其中的每个值都可能是一个需要遵循相同过程的容器。


推荐阅读