Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 3.970 pregleda

Najnovija ↓

Overload funkcije u JavaScript 14.01.2006. u 19:33 · pre 253 meseca #1
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?
Potpis
Estamos listos?
Re: Overload funkcije u JavaScript 14.01.2006. u 20:09 · pre 253 meseca #2
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>
Potpis
Banned - Not available
Re: Overload funkcije u JavaScript 14.01.2006. u 21:03 · pre 253 meseca #3
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).
Potpis
BoxUp
interesantna logička igra
Monty Hall paradoks - interaktivni demo
Re: Overload funkcije u JavaScript 15.01.2006. u 00:22 · pre 253 meseca #4
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...
Potpis
Estamos listos?
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme