このオブジェクトのメソッドを呼び出すと、"i" が存在しない属性を参照しているため、"Oops" エラーが発生することがあります。どのように可能ですか?
m.derp();
m.herp(); // Sometimes throws error
方法:
this.movements = new Array();
this.herp = function() {
for (var i in this.movements) {
if (!(this.movements[i] instanceof Movement)) {
throw new Error("Oops"); // this.movements[i] is undefined
}
}
}
this.derp = function() {
var newArray = new Array();
for (var i in this.movements) {
if (!this.movements[i].isFinished()) {
newArray.push(this.movements[i]);
}
}
this.movements = newArray;
}