所以我试图通过添加aumento来增加属性,因为我正在使用obj.defineProperty。但是我收到错误: TypeError ::无法重新定义非可配置属性'x_origen' 我该如何解决?
var aument = 0;
function aumento(){
aument += 2.5;
}
setInterval(aumento, 20)
function crear_clase_ladrillo (x_origen_in, y_origen_in, x_final_in, y_final_in, mi_estado, mi_velocidad, mi_id){
this.nueva_x_origen = this.x_origen + this.velocidad;
this.y_origen = y_origen_in;
this.x_final = x_final_in;
this.nueva_x_final = this.x_final + this.velocidad;
this.y_final = y_final_in;
this.estado = mi_estado;
this.velocidad = mi_velocidad;
this.id_elemento = mi_id;
Object.defineProperty(this, 'x_origen', {
get: function () { return x_origen_in + aument; }
});
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;
}
答案 0 :(得分:0)
Object.defineProperty()
有几个默认值,均为false。您需要明确地将其设为可配置值:
Object.defineProperty(this, 'x_origen', {
get: function () { return x_origen_in + aument; },
configurable: true
enumerable: true
});