Javascript 如何从实例中创建新的类实例?
我想写一个小的“生命模拟”,在那里生命形式可以自我复制。 我希望每个类实例能够创建更多实例,比如克隆/复制自身。 我确实知道如何从类外部创建一个新实例,但我希望该类能够自己创建Javascript 如何从实例中创建新的类实例?,javascript,oop,Javascript,Oop,我想写一个小的“生命模拟”,在那里生命形式可以自我复制。 我希望每个类实例能够创建更多实例,比如克隆/复制自身。 我确实知道如何从类外部创建一个新实例,但我希望该类能够自己创建 class Life{ constructor(){ this.age = 0; } frame_loop(){ this.age ++; if (this.age == 18){ this.reproduce();
class Life{
constructor(){
this.age = 0;
}
frame_loop(){
this.age ++;
if (this.age == 18){
this.reproduce();
}
}
reproduce(){
// obviously does not work
this.new();
}
}
let bacteria = new Life();
我不想在课外创造新的生活,比如
let bacteria1 = new Life();
感谢您的帮助。您可以这样做。拥有儿童财产,只要年龄合适,就会创造新的生命()
课堂生活{
儿童=[];
构造函数(){
这个年龄=0;
}
帧_循环(){
这个.age++;
如果(this.age==18){
这个;
}
}
复制{
控制台日志(“新生活”)
这个.儿童.推(新生活());
}
}
让细菌=新生命();
对于(变量i=0;i<100;i++){
细菌;
}
我想你这里有语法错误:课堂生活()
你说得对,干杯。更正。我为这个问题创建了这个简化的代码示例,以使问题更容易理解:)是否应该复制创建一个新实例并将其覆盖到现有实例,还是应该将新实例存储为当前实例的子实例?@briosheje:谢谢您的示例。在您的代码示例中,“复制”在类外部称为“手动”。我正在寻找一个解决方案,其中类本身“决定”创建一个新的类。它也可以在它内部调用,您只需调用frame\u loop
18次。请解释所需的结果,以便我们能进一步帮助您。