Javscript - это язык ООП, основанный на прототипах, а не класс, как большинство других популярных языковПоэтому конструкции ООП немного отличаются от того, к чему вы могли бы привыкнуть.Вы должны игнорировать большинство веб-сайтов, которые пытаются реализовать наследование на основе классов в JS, так как этот язык не предназначен для использования.
Причина, по которой люди делают это, потому что они привыкли к системе, основанной на классах, и обычно даже не подозревают, что являются альтернативой этому, поэтому вместо того, чтобы пытаться научиться правильному пути, они пытаются реализовать способчто они более знакомы, что обычно приводит к загрузкам и нагрузкам хаков или внешних библиотек, которые по существу не нужны.
Просто используйте прототип.
function CustomFileParser(onParsed, onProgress) {
// constructor
this.onParsed = onParsed;
this.onProgress = onProgress;
};
CustomFileParser.prototype.parse = function(file) {
// parse the file here
var event = { foo: 'bar' };
this.onProgress(event);
// finish parsing
this.onParsed(event);
};
И вы можете использовать его кактак что
function parsed(event) {
alert(event);
}
function progress(event) {
alert(event);
}
var customFileParser = new CustomFileParser(parsed, progress);
var file = ''; // pseudo-file
customFileParser.parse(file);