@lexstile

Как записать на ES5 счетчик с инкапсуляцией?

Нужно получить, используя ES5:
var c = сounter()
  var a = c.next() //1
  var b = c.next() //2
  • Вопрос задан
  • 200 просмотров
Решения вопроса 1
potapchino
@potapchino
function counter() {
  var i = 0
  
  return {
    next: function() {
      return ++i
    }
  }
}

var foo = counter()
var bar = counter()

console.log(foo.next()) // 1
console.log(foo.next()) // 2
console.log(foo.next()) // 3
console.log(bar.next()) // 1
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Функция конструктор внутри другой функции для ограничения области видимости. Загуглите как создавать классы в es5 и как создавать приватные поля через замыкания
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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