Cache,
Вас вообще не в ту степь прет. это почти то же самое, что
obj.showF = function(m){alert(obj.func[m])}
|
Цитата:
|
protoquest,
как же сказал выше - только учусь, и ООП - для меня темный лес... Суть задачи, хочу обойтись без switch при обработке ответа от сервера, имеющего вид: Код:
KEY_VALUEVALUE и 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, время: 10:29. |