Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 02.04.2016, 22:22
Аспирант
Посмотреть профиль Найти все сообщения от protoquest
 
Регистрация: 02.04.2016
Сообщений: 50

Cache,
Вас вообще не в ту степь прет. это почти то же самое, что
obj.showF = function(m){alert(obj.func[m])}
Ответить с цитированием
  #12 (permalink)  
Старый 02.04.2016, 22:25
Аспирант
Посмотреть профиль Найти все сообщения от protoquest
 
Регистрация: 02.04.2016
Сообщений: 50

Сообщение от Cache
а можно по конкретней, почему через "жопу"?
ладно, дело ваше, может найдется задача, где это Вам действительно понадобится.
Ответить с цитированием
  #13 (permalink)  
Старый 02.04.2016, 22:40
Кандидат Javascript-наук
Отправить личное сообщение для Cache Посмотреть профиль Найти все сообщения от Cache
 
Регистрация: 02.05.2013
Сообщений: 111

protoquest,
как же сказал выше - только учусь, и ООП - для меня темный лес...
Суть задачи, хочу обойтись без switch при обработке ответа от сервера, имеющего вид:
Код:
KEY_VALUE
или
KEY_VALUE_SUBVALUE
где KEY - критичность сообщения
VALUE и SUBVALUE - подробности
например:
ERROR_SQL или BAD_KEY

в зависимости от этого, хочу вызывать нужную функцию, например, при BAD_KEY нужно вызвать showMsg() с сообщением об ошибке введенного ключа, аналогично при других ошибках с ключом BAD_
а при ERROR_SQL - нужно запустить функцию-таймер, которая повторит запрос по окончании таймера

плюс как-то упорядочить обращение к объекту с сообщениями

вот и ломаю голову, как же это сделать

Последний раз редактировалось Cache, 02.04.2016 в 22:55.
Ответить с цитированием
  #14 (permalink)  
Старый 02.04.2016, 22:48
Аспирант
Посмотреть профиль Найти все сообщения от protoquest
 
Регистрация: 02.04.2016
Сообщений: 50

Cache,
основные кейзы ООП -- это наследование полиморфизм и инкапсуляция. Это средство проектирования, совместного, повторного использования кода, средство метапрограммирования. В твоем же случае, абсолютно похрену, как ты обработаешь ответ, со свитчем или без него, зря ты мучаешься. Использовать ООП ради самого ООП не нужно. Хотя, в контексте освоения механизмов, может это и будет для тебя полезно, просто для отработки навыков.

Последний раз редактировалось protoquest, 02.04.2016 в 22:51.
Ответить с цитированием
  #15 (permalink)  
Старый 02.04.2016, 23:00
Кандидат Javascript-наук
Отправить личное сообщение для Cache Посмотреть профиль Найти все сообщения от Cache
 
Регистрация: 02.05.2013
Сообщений: 111

protoquest,
ясн, спасибо
Ответить с цитированием
  #16 (permalink)  
Старый 02.04.2016, 23:00
Аспирант
Посмотреть профиль Найти все сообщения от protoquest
 
Регистрация: 02.04.2016
Сообщений: 50

Cache,
хотя, если я правильно тебя понял, то что ты говоришь, можно реализовать в объектном стиле, только не так как ты задумал, а как-то вот так
var request = {
  KEY_VALUE: function(){alert(1)},
  KEY_VALUE_SUBVALUE: function(){alert(2)},
  handler: function(string){
    this[string]()
  }
}

request.handler("KEY_VALUE")

это замена свитч

Последний раз редактировалось protoquest, 02.04.2016 в 23:03.
Ответить с цитированием
  #17 (permalink)  
Старый 02.04.2016, 23:14
Кандидат Javascript-наук
Отправить личное сообщение для Cache Посмотреть профиль Найти все сообщения от Cache
 
Регистрация: 02.05.2013
Сообщений: 111

protoquest,
спасибо, подумаю над таким решением
Ответить с цитированием
  #18 (permalink)  
Старый 02.04.2016, 23:23
Кандидат Javascript-наук
Отправить личное сообщение для Cache Посмотреть профиль Найти все сообщения от Cache
 
Регистрация: 02.05.2013
Сообщений: 111

разве что, подобный подход, слишком упрощенный, т.к. showMsg() это не просто вызов alert(), но и выполнение некоторых операций, связанных с данным событием, и не всем событиям - требуется именно эта функция, по этому и требовалась ссылка именно на функцию, т.е. чтобы в зависимости от KEY - можно было бы указать обработчик (функцию) ..... как-то так
Ответить с цитированием
  #19 (permalink)  
Старый 03.04.2016, 10:33
Аспирант
Посмотреть профиль Найти все сообщения от protoquest
 
Регистрация: 02.04.2016
Сообщений: 50

Сообщение от Cache
т.е. чтобы в зависимости от KEY - можно было бы указать обработчик (функцию) ..... как-то так
то что я Вам привел как раз это и делает
Ответить с цитированием
  #20 (permalink)  
Старый 03.04.2016, 10:38
Аспирант
Посмотреть профиль Найти все сообщения от protoquest
 
Регистрация: 02.04.2016
Сообщений: 50

Сообщение от Cache
это не просто вызов alert(), но и выполнение некоторых операций, связанных с данным событием
туда вместо алерта можно впихнуть все что угодно. У тебя действительно ступор какой-то с ООП.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конструктор массива объектов и работа с ними через localStorage pepel266 Общие вопросы Javascript 16 04.11.2015 18:30
Как удалить объекты select D_Sergeevich Элементы интерфейса 3 16.09.2014 21:13
Проблема! Добавление элементов с помощью append() и работа с ними Gurchava jQuery 3 14.04.2014 17:09
Постоянная работа / Front-end / Москва kooper Работа 4 29.09.2011 22:06
Подгрузка select и работа с ними после! BASSON_XVI jQuery 3 07.01.2011 11:28