プロトタイプの継承に問題があり、正しく機能しない理由がわかりません。
スニペットは次のとおりです。
function Field(newKey, val) {
this.key = newKey || "";
this.value = val || "";
}
Field.prototype.isEmpty = function() {
return this.value === undefined || this.value === null || this.value === "";
};
function DoubleField(newKey, val) {
this.base = Field;
this.base(newKey, val);
}
DoubleField.prototype = new Field();
DoubleField.prototype.constructor = DoubleField;
function IntegerField(newKey, val) {
this.base = DoubleField;
this.base(newKey, val);
}
IntegerField.prototype = new DoubleField();
IntegerField.prototype.constructor = IntegerField;
var f = new Field('keyfield', 'valField');
var d = new DoubleField('keydouble', 'valDouble');
var i = new IntegerField('keyinteger');
var res = f.isEmtpy();
f.isEmptyの呼び出しは失敗していますか?なんで?d.isEmptyまたはi.isEmptyの呼び出しは、期待どおりに正常に機能します。
自分が間違っていることに気づきません。どんな助けでも大歓迎です!