Перегрузка методов и функций
Есть ли в javascript перегрузка методов и функций?
|
Т.к. объекты это хэши, то очевидно нет. А т.к. JavaScript язык нетипизированный, то и быть не может.
Работа с аргументами функций в JS достаточно прозрачна, так что лично я в перегрузке не вижу смысла. |
Да вы правы вот этот код показывает, что перегрузок нет
function cout()
{
alert(1);
}
function cout(str)
{
alert(str);
}
cout();
cout("Привет");
|
И ещё хотел спросить, в книге есть пример чего вроде такого, но там толи это очень сложно, то ли .... ?
cout(value=6,str='Привет'); Но этот способ не работает
function cout(str,value)
{
alert("str="+str);
alert("value="+value);
}
cout(value=6,str='Привет');
|
Цитата:
|
если под перезагрузкой функций вы понимаете - перезоздание.. то чем не вариант:
function bla(){
alert('bla');
}
delete window.bla;
function bla(){
alert('другое bla');
}
|
|
Перегрузка функций по параметрам - это ограничение компилируемых языков со статической типизацией. JS избавлен от этого. Здесь можно, при вызове одной и той же функции, передавать множество параметров разных типов.
|
Цитата:
|
Я задачю немного упростил, просто бывает так что надо передать огромное количество переменных,
т.е. cout('Привет',true,6,10,null,.....,n); И чтобы не забыть последовательность сделать именно так, cout(value=6,str='Привет',....,n); Но видимо это нельзя, т.е. надо передавать объекты похоже? |
| Часовой пояс GMT +3, время: 10:44. |