Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.05.2015, 22:39
Новичок на форуме
Посмотреть профиль Найти все сообщения от newjsser
 
Регистрация: 16.05.2015
Сообщений: 3

Возвращаемся к объектам
JS — объектно-ориентированный язык, причем, в хорошем смысле. Конечно, до концепции «все есть объект» ему далековато, но в целом, ок. Однако, в последнее время наметилась нездоровая тенденция: заметать объекты под ковер. Это одна из главных причин стиля callback-hell. Я решил понемногу исправлять ситуацию. Начал с таймаутов и прочих интервалов. Я вытащил данный объект наружу, запилив слой абстракции над его методами, и теперь таймауты можно писать в ООП-стиле

try{global}catch(e){global=window}

Waiting={
  clone: function(){return Object.create(this)},
  init: function(src){for(var i in src){if(!src.hasOwnProperty(i)) return this; this[i]=src[i]} return this},
  start: function(){this.id=global["set"+this.type](this.on.bind(this), this.pause)}, 
  clear: function(){global["clear"+this.type](this.id)},
  pause: 0
}

Timeout=Waiting.clone().init({type: "Timeout"})
Interval=Waiting.clone().init({type: "Interval"})


timeout=Timeout.clone().init({
 value: 1,
 on: function(){console.log(this.value)},
 pause: 3000
})

timeout.start() // just a simple test

interval=Interval.clone().init({
 value: 10,
 on: function(){console.log(this.value)},
 pause: 1000
})

timeout.on=function(){interval.clear()}

interval.start()
timeout.start()

// ::: 10
// ::: 10
// ::: 1

Последний раз редактировалось newjsser, 16.05.2015 в 22:50.
Ответить с цитированием
  #2 (permalink)  
Старый 17.05.2015, 08:53
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,134

foo, прекращай писать глупости пробуй решать реальные задачи
Ответить с цитированием
  #3 (permalink)  
Старый 18.05.2015, 08:50
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

А чтобы казалось меньше сырца, объект минимизирован вручную.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как к объектам полученными jquery применить стандартные методы javascript? klauddl jQuery 4 14.09.2011 09:26
Jquery. Доступ к объектам в DOM. Селекторы Yes jQuery 5 24.08.2011 11:17
Добавление методов к стандартным объектам и совместимость кода Василий Б. Общие вопросы Javascript 10 20.07.2010 12:00
Обращение к объектам CSS Djumpen Общие вопросы Javascript 12 11.04.2010 11:47
Вопрос по объектам и DOM Hawk Events/DOM/Window 3 14.05.2008 15:04