@ZaxapKramer
Больной верстальщик

ООП в 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.
Понимаю, что что-то не так, но вот что? Подскажите. Или же вообще нельзя реализовать столько "уровней вложенности"?
  • Вопрос задан
  • 336 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
У вас почти всё верно, только пара синтаксических ошибок и одна логическая:
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();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы