Cache,
Вас вообще не в ту степь прет. это почти то же самое, что obj.showF = function(m){alert(obj.func[m])} |
Цитата:
|
protoquest,
как же сказал выше - только учусь, и ООП - для меня темный лес... Суть задачи, хочу обойтись без switch при обработке ответа от сервера, имеющего вид: Код:
KEY_VALUE VALUE и SUBVALUE - подробности например: ERROR_SQL или BAD_KEY в зависимости от этого, хочу вызывать нужную функцию, например, при BAD_KEY нужно вызвать showMsg() с сообщением об ошибке введенного ключа, аналогично при других ошибках с ключом BAD_ а при ERROR_SQL - нужно запустить функцию-таймер, которая повторит запрос по окончании таймера плюс как-то упорядочить обращение к объекту с сообщениями вот и ломаю голову, как же это сделать |
Cache,
основные кейзы ООП -- это наследование полиморфизм и инкапсуляция. Это средство проектирования, совместного, повторного использования кода, средство метапрограммирования. В твоем же случае, абсолютно похрену, как ты обработаешь ответ, со свитчем или без него, зря ты мучаешься. Использовать ООП ради самого ООП не нужно. Хотя, в контексте освоения механизмов, может это и будет для тебя полезно, просто для отработки навыков. |
protoquest,
ясн, спасибо |
Cache,
хотя, если я правильно тебя понял, то что ты говоришь, можно реализовать в объектном стиле, только не так как ты задумал, а как-то вот так var request = { KEY_VALUE: function(){alert(1)}, KEY_VALUE_SUBVALUE: function(){alert(2)}, handler: function(string){ this[string]() } } request.handler("KEY_VALUE") это замена свитч |
protoquest,
спасибо, подумаю над таким решением |
разве что, подобный подход, слишком упрощенный, т.к. showMsg() это не просто вызов alert(), но и выполнение некоторых операций, связанных с данным событием, и не всем событиям - требуется именно эта функция, по этому и требовалась ссылка именно на функцию, т.е. чтобы в зависимости от KEY - можно было бы указать обработчик (функцию) ..... как-то так
|
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 02:52. |