Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Overloading в JavaScript (https://javascript.ru/forum/misc/3116-overloading-v-javascript.html)

Dmitry A. Soshnikov 19.03.2009 22:01

Цитата:

Сообщение от Kolyaj
Написать на JS === должно работать везде, где есть JS.

В принципе, если какая-то админская система, не обязательно.

P.S.:> ладно, главное, что теперь (надеюсь) нет путаницы с паттерном "Делегатор", "механизмом делегирования в JS" и "обработкой ситуации с неопознанным методом".

Kolyaj 19.03.2009 22:05

Цитата:

Сообщение от Dmitry A. Soshnikov
В принципе, если какая-то админская система, не обязательно.

Админку на ext'е быстрей и проще написать, а там ничего такого не надо.

Цитата:

Сообщение от Dmitry A. Soshnikov
ладно, главное, что теперь (надеюсь) нет путаницы с паттерном "Делегатор", "механизмом делегирования в JS" и "обработкой ситуации с неопознанным методом или еще нужно объяснить".

Мне, по большому счету, все равно, как что называется. :)

Dmitry A. Soshnikov 19.03.2009 22:06

Цитата:

Сообщение от Kolyaj
Мне, по большому счету, все равно, как что называется.

Главное, чтобы понимание было ;)

no_alex 19.03.2009 22:24

Kolyaj, Dmitry A. Soshnikov,
Что-то я не пойму суть вашего спора. Вроде-бы говорите об одном и том-же, но при этом продолжаете спорить. :)

Будем считать, что "Overloading" разобрались. Для JS эта фича существует только в FF. Возможно существует какой-то хак, который позволяет эту проблему решить кроссбраузерно. Если да, то надеюсь, мы здесь это услышим.


Kolyaj, респект.
Вы очень точно угадали мои цели:
Цитата:

Например, обертка для DOM-узла, которая определяет свои методы, а родные, точнее неопределенные в ней, делегирует DOM-элементу.



Что же касается второй задачи, которую я поднял в этой теме. Я уже сильно жалею что смешал эти два разных вопроса в одной теме. Приношу свои извинения!
Просто для меня это две части одной задачи. И для меня решение хотя-бы одной из этих задач, было-бы достаточным.
Чтобы избежать дальнейшей путаницы, для второго вопроса я открыл другую тему: http://javascript.ru/forum/misc/3120...jj-caller.html .
Gvozd, надеюсь Вам не влом будет продолжать это обсуждение? ;)

Gvozd 19.03.2009 23:22

Цитата:

Сообщение от no_alex
. Возможно существует какой-то хак, который позволяет эту эту проблему решить кроссбраузерно

есть идея.но она не сильна хороша:
a={
'call_function':function(name,param)
	{if(this[name]!==undefined&&this[name].constructor==Function)
		return this[name].apply(this,param)},
'func':function(){alert('sa')}
}
a.call_function('func',[]);

no_alex 20.03.2009 00:27

Gvozd, с Вашего позволения, я чуть-чуть изменю Ваш код, чтобы он был более читабельным:
var a = {
    'call_function' : function(name, param)
    {
        if(this[name] !== undefined && this[name].constructor == Function) {
            return this[name].apply(this, param);
        }
        return null;
    },
    'func' : function(p1)
    {
        alert(p1);
    }
}
a.call_function('func', ['ok!']);


То есть Вы подлагаете все вызовы делать, вместо классического способа:
a.func('ok!');

- таким способом:
a.call_function('func', ['ok!']);


Не думаю, что это решение многим понравится.

Dmitry A. Soshnikov 20.03.2009 01:12

Цитата:

Сообщение от no_alex
Что-то я не пойму суть вашего спора. Вроде-бы говорите об одном и том-же, но при этом продолжаете спорить.

Да мы не спорим, мы беседуем. А разговор был абсолютно про разное. Какой толк знать/понимать/называть неверно? А так, хоть расставились точки на ё ;)

Цитата:

Сообщение от no_alex
Возможно существует какой-то хак, который позволяет эту эту проблему решить кроссбраузерно.

Нет, к сожалению.


Часовой пояс GMT +3, время: 13:38.