ООП в Javascript, наследование: как реализовать подобное? Как реализовать подобное в javascript, если это возможно?var put = function(elem, text) {
var text = encodeURIComponent(text);
return {
now: function(a) {
var a = encodeURIComponent(a) || '';
add: function() {
elem.outerHTML += text+a;
}
replace: function() {
elem.outerHTML = text+a;
}
}
after: function(time) {
// do smth
}
}
}
Далее вызываем это как-то так:put(document.getElementById("div_id"), "Hello ").now("world!").replace;
Проблема в том, что кидает ошибку на строку с replace (в данном случае, это 9): SyntaxError: function statement requires a name.
Понимаю, что что-то не так, но вот что? Подскажите. Или же вообще нельзя реализовать столько "уровней вложенности"?

21 Авг 2019 в 07:04
259 +1
0
Ответы
1

Да, в данном случае проблема возникает из-за некорректного синтаксиса. Вам нужно изменить ваш код следующим образом:

var put = function(elem, text) {
var text = encodeURIComponent(text);
return {
now: function(a) {
var a = encodeURIComponent(a) || '';
return {
add: function() {
elem.outerHTML += text + a;
},
replace: function() {
elem.outerHTML = text + a;
}
}
},
after: function(time) {
// do smth
}
}
}
put(document.getElementById("div_id"), "Hello ").now("world!").replace();

Изменения включают в себя использование return для возврата объектов из функций now и добавление вызова функции replace с использованием (). Теперь ваш код должен работать корректно.

20 Апр 2024 в 13:08
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир