Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Overload funkcije u JavaScript

[es] :: Javascript i AJAX :: Overload funkcije u JavaScript

[ Pregleda: 3106 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

varelg

Član broj: 24494
Poruke: 187
*.ipt.aol.com.



+2 Profil

icon Overload funkcije u JavaScript14.01.2006. u 18:33 - pre 222 meseci
Zdravo,
Dali ima nachin da se neka JavaScript funkcija overload-uje (nekoliko funkcija imaju isto ime ali razlichiti broj argumenata), poshto sam vech probao s tri funkcije sa istim imenom ali razlichitim brojem argumenata i pozvana je samo funkcija s najvechim brojem argumenata. Ostale funkcije su jednostavno ignorisane.
Ili overloading je jednostavno nemoguch u JS?
Estamos listos?
 
Odgovor na temu

Br@nkoR
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: Overload funkcije u JavaScript14.01.2006. u 19:09 - pre 222 meseci
Nisam siguran da li sam najbolje razumeo problem.
Npr.
js:
Code:

function test() {
  var output ='';
  for(var i=0; i<arguments.length; i++) {
    output += ' - ' + arguments[i];
  }
  output += ' -';
  alert(output);
}


html:
Code:

<a href="#" onClick="test('jedan')">test 1</a>
<a href="#" onClick="test('jedan','dva')">test 2</a>
<a href="#" onClick="test('jedan','dva','tri')">test 3</a>

Banned - Not available
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.ADSL.neobee.net.

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Overload funkcije u JavaScript14.01.2006. u 20:03 - pre 222 meseci
Funkcije se posmatraju kao promenljive tipa Function. Kao svakoj promenljivoj, moguće je promeniti vrednost, tako da je dozvoljeno redefinisanje funkcije. Znači, ne radi se tu o overloadingu, već se pri pozivu funkcije izvršava ona koja je poslednja pridružena pozvanom imenu.

Ako ti je pretpostavljeni overloading baziran isključivo na broju parametara, može da se simulira switchovanjem po dužini arguments niza (pogledaj Br@nkoRov primer).
 
Odgovor na temu

varelg

Član broj: 24494
Poruke: 187
*.ipt.aol.com.



+2 Profil

icon Re: Overload funkcije u JavaScript14.01.2006. u 23:22 - pre 222 meseci
OK, ja sam gledao na funkcije kao na metode u OOP-u pa se ponadao da rade na isti nachin (jedna od JS knjiga kazhe da je JS objektno orientirani jezik, ali ochigledno nije dokraja). Evo na shta sam mislio:
Code:

function a ()
{
  document.write("Iz funkcije s nula argumenata")
}

function a (x)
{
  document.write("Iz funkcije s jednim argumentom: " + x)
}

function a (x, y)
{
  document.write("Iz funkcije s dva argumenta: " + x + y)
}


Da bi posle u recimo onclick event-u od nekog dugmeta pozvao verziju funkcije "a" s recimo dva argumenta:
Code:

....... onclick = "a ('x', 'y')">

Ali ako su funkcije u JS-u samo josh jedan tip objekata onda izgleda nema nishta od overloading... da, switch-case scenario bi bio jedan od moguchih hakova...

Estamos listos?
 
Odgovor na temu

[es] :: Javascript i AJAX :: Overload funkcije u JavaScript

[ Pregleda: 3106 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.