@magary4

Как переопределить функцию внутри другой функции javascript?

как на сыром js написать класс который перебьет go
Handler = function( _options ) {

    var that = this;

    var options = {
        opt1: 'val1',
        opt2: 'val2'
    };

    if(typeof _options === 'object' ) {
        options = jQuery.extend( true, options, _options );
    }
    
    var go = function() {
        alert( options.opt1 );
    }
};

Handler2 = function () {
  
    как унаследовать все от Handler ?
  
    var go = function() {
        console.log(options.opt2);
    }
};

var handler = new Handler2();
handler.go();


спассибо
  • Вопрос задан
  • 707 просмотров
Пригласить эксперта
Ответы на вопрос 1
@kvaak
FE
Для начала, Вам нечего наследовать, go доступен только внутри функции, которая, похоже, подразумевалась как конструктор.
var handler = new Handler();
handler.go();

вызовет так же ошибку, что go is not a function. Чтобы сделать методы публичными, пользуйтесь внутри конструктора ключевым случаем this
this.go = function () {}

Наследовать же можно так
Handler2.prototype = Object.create(Handler.prototype);
Handler2.prototype.constructor = Handler;

А подробнее про наследование лучше почитать тут
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы