我有两个函数。在第一个例子中,我通过增加100来增加一个变量,然后我放置一个setInterval,以便函数在一段时间后重复。另一个功能是一个类,一个创建对象的控制器。我想通过在一段时间后添加aumento来增加this.x_origen并重复它。然而,我在这里得到的是,第一个函数增加aument,然后完成,然后第二个函数启动。我该如何解决这个问题?不时改变一个类的属性
var aument = 0;
function aumento(){
aument = aument + 100;
return aument;
}
setInterval(function() {aumento()}, 1000/50);
function create_class_brick (x_origen_in, y_origen_in, x_final_in, y_final_in, mi_estado, mi_velocidad, mi_id){
this.x_origen = x_origen_in + aumento();
this.y_origen = y_origen_in;
this.x_final = x_final_in + aumento();
this.y_final = y_final_in;
this.estado = mi_estado;
this.velocidad = mi_velocidad;
this.id_elemento = mi_id;
this.DESPLAZAR_LADRILLO = desplazar_ladrillo;
this.F0 = f0;
this.F2 = f2;
this.crear_ladrillo = crear_ladrillo;
this.obtener_x_origen_ladrillo = obtener_x_origen_ladrillo;
this.obtener_y_origen_ladrillo = obtener_y_origen_ladrillo;
this.obtener_x_final_ladrillo = obtener_x_final_ladrillo;
this.obtener_y_final_ladrillo = obtener_y_final_ladrillo;
}
是否希望'this.x_origen'定期更新为'aument'的当前值?还是每当'aument'更新时都更新'this.x_origen'? –
@Jason Cust随着音素增加,我希望this.x_origen也增加。所以这将是你提到的第二个结果。 – nmn
这就是Javascript的一个新的提议,称为['Object.observe'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe)将允许你做。不幸的是,它在大多数浏览器上都没有默认实现,所以它不会一直可用。也就是说,您可以使用polyfill或使用内部轮询解决方案。虽然取决于要创建多少个对象,但我会关注性能。 –