В Javascript я пытаюсь сделать это, когда я вручную обновляю rotationSetting ..... например rotation.rotationSetting = 7, speed.steps # будет автоматически обновляться с помощью объект.Javascript Object.defineProperties автоматически обновлять свойства
Прямо сейчас, я получаю сообщение об ошибке «Uncaught TypeError: Object.defineProperties, вызываемый не-объектом», потому что rotationSetting не является объектом. Как мне обойти это и выполнить то, что я хочу?
var rotation = function() {
var rotationId;
var rotationList = [];
var rotationSetting = 3;
var speed = {
step1 : 0,
step2 : 0,
step3 : 0,
step4 : 0,
}
Object.defineProperties(rotationSetting, {
set: function(rotationSetting, speed) {
this.step1 = rotationSetting * 1000;
this.step2 = this.step1 + 1000;
this.step3 = this.step2 + this.step1;
this.step4 = this.step3 + 1000;
}
})
return {
rotationId : rotationId,
rotationList : rotationList,
rotationSetting : rotationSetting,
speed : speed,
}
}();
С его работой я получаю step1 = 0 для возврата. – dman
Работы для меня: http://jsbin.com/AZUKAfO/1/edit Не могли бы вы отредактировать код или предоставить свой собственный образец, который показывает, что step1 будет 0? – Tibos
http://jsbin.com/ASeVEV/1/edit – dman