У меня есть JavaScript Object, как показано ниже:Override внутренней функции функции прототипа в JavaScript
var Loader = function() {}
Loader.prototype = {
constructor: Loader,
foo: function(a, b) {
function bar() {
return a + b;
}
return bar();
}
};
мне нужно переопределить бар() функция присутствует внутри Foo. Функция Foo может быть переопределена как:
Loader.prototype.foo = function() {}
Я попробовал то же самое для внутренней функции, но не повезло.
Loader.prototype.foo.bar = function() {}//doesnt work
Loader.prototype.foo.protoype.bar = function() {}//doesnt work
Я был бы очень рад, если бы кто-то мог указать мне в правильном направлении. Заранее спасибо
Вы не можете переопределить внутреннюю функцию, потому что это сфера ограничивается функция foo. –
Думаю, вам придется переопределить (скопировать пасту) всю функцию foo() и изменить только соответствующие части. Да, это может быть плохо, если обновления поступят за то, что вы переопределяете (возможно, сторонняя библиотека). – Thernys