Függvényhívás, callback, paraméterezés
Sziasztok!
Adott egy függvény ami első paraméterül egy másik függvényt kap, eztán több paraméter is megadható neki. Azt kéne megoldani, hogy ez az függvény hívja meg a paraméterként kapott függvényt további paraméterekkel. Persze variáltabb a helyzet kicsit, de nem hiszem az "osztályok" számítanának itt. Körbejártam a call, apply témakörét, de ott nem egy adott példányt hívnak ha jól értettem. Szóval valami olyasmire lenne szükségem, hogy egy tömbként adhassam át a paraméterként megadott függvénynek a paramétereket. Kódban már érthetőbb lesz talán. Persze az eval sima, de kerülném.Köszi a helpet!
■ Adott egy függvény ami első paraméterül egy másik függvényt kap, eztán több paraméter is megadható neki. Azt kéne megoldani, hogy ez az függvény hívja meg a paraméterként kapott függvényt további paraméterekkel. Persze variáltabb a helyzet kicsit, de nem hiszem az "osztályok" számítanának itt. Körbejártam a call, apply témakörét, de ott nem egy adott példányt hívnak ha jól értettem. Szóval valami olyasmire lenne szükségem, hogy egy tömbként adhassam át a paraméterként megadott függvénynek a paramétereket. Kódban már érthetőbb lesz talán. Persze az eval sima, de kerülném.
function class() {
this.one=one;
function one(arg1,arg2) {
console.log(arg1 + ' ' + arg2);
}
}
function two(func,arg1) {
var arg2='str';
// itt arguments tömbben megvan arg1, vagy többi paraméter.
// itt kéne paraméterekkel meghívni a paraméterként kapott függvény példányt.
// amúgy azt olvastam hogy az arguments tömb már deceprated, mit lehet helyette
// használni?
}
var c1=new class();
two(c1.one,arg1);
Függvények
class
szót, mert az lefoglalt szó, és lehet később egy böngészőben más lesz a jelentése. Helyette legyen mondjuk Klass. Eleve osztályok nevét nagybetűvel kezdjük, hogy meg tudjuk különböztetni a függvényeket a konstruktortól.Azt ugye tudod, hogy a fenti
one
függvényen belül athis
-nek más lesz jelentése, minthac1.one
-ként hívod meg, mint atwo
függvényen belül? amennyiben mindig egy osztály metódusait szeretnéd meghívni a two függvényen belül, akkor érdemes lenne bevezetni egytarget
változót, amivel befolyásolni lehetne mi legyen athis
.Az
arguments
az nem tömb, és nem depricated. Az fn.arguments az, ami depricated.Köszi az infókat. Class
Az argumentssel kapcsolatban akkor megnyugodtam, hogy használhatom nyugodtan. Azt sejtettem, hogy nem tömb, mivel mert nincsenek meg neki a szokásos tömb metódusai.
Amúgy apró hülyeség volt a kódban (az apply függvényél nem tömböt adtam át második paraméterként, hanem elkezdtem beírni a paramétereket teszt jelleggel), de sosem vettem volna észre, ha nem tudom összehasonlítani valaki máséval lépésről lépésre.