Наверно, где-то у меня в коде ошибка.. У меня алерт не выводится в переопределенном методе. Было бы очень хорошо, если бы кто-нибудь помог с нахождением ошибки) Вот мой код
var Engine = {
modules: {},
loadModule: function (module_data)
{
$.getScript('template/js/' + module_data.js_file, function () {
eval('Engine.modules[module_data.type] = new ' + module_data.name + '();'); //создаем экземпляр класса FreeBitcoinAccountController (немного кривовато, но смысл в том, что все загружается динамически, в том числе имена классов)
Engine.modules[module_data.type].init(); //вызываю метод init из созданного класса
});
}
}
//freebitcoin.js
function FreeBitcoinAccountController() {
Bote.apply(this, arguments);
}
FreeBitcoinAccountController.prototype.init = function () {
Bote.prototype.init.call(this);
alert();//Alert не выполняется! как и дальнейший код
//код
this.main();
};
FreeBitcoinAccountController.prototype = Object.create(Bote.prototype);
FreeBitcoinAccountController.prototype.constructor = FreeBitcoinAccountController;
//bote.js
function Bote() {
//код
}
Bote.prototype.init = function () {
this.initContent();
//код
this.log('Бот загружен');
};
P.S. Заменил
FreeBitcoinAccountController.prototype = Object.create(Bote.prototype);
FreeBitcoinAccountController.prototype.constructor = FreeBitcoinAccountController;
на
FreeBitcoinAccountController.prototype.__proto__ = Bote.prototype;
Теперь все работает. Но зачем же тогда в учебнике по созданию классов написан именно тот код, который был у меня изначально?