A funkciók kezelése
Itt az emberek különböző hasznos, de nem nyilvánvaló írásbeli funkciókról beszélnek.
Opcionális funkcióparaméterek létrehozása?
Vannak olyan funkciók, amelyek néhány paramétere gyakran ugyanazokat az értékeket veszi fel. Ezek a paraméterek nem választhatóak meg, így amikor a függvény hívásra kerül, átugorhatók, és maguk vállalják a szükséges értékeket?
Ha egy függvény meghívásakor bármelyik paramétert elhagyta, akkor a függvény géleszködésében nem határozza meg. Tehát a cselekvés sorrendje világos.
Ellenőrizzük, hogy ez a paraméter értéke meghatározatlan-e (azaz, hogy kifejezetten a függvénybe került-e). Ha igen, ugorjon a 2. lépésre, ha nem, a 3. lépésre.
Alapértelmezett érték hozzárendelése a paraméterhez.
Ezt a paraméter értékét használjuk a függvény testén belüli számításokban.
függvény func1 (par1, par2)
ha (typeof (par2) == "undefined") par2 = 0;
> Ezt a funkciót minden paraméterhez hasonlóan hívhatjuk:
és csak az első kötelező paraméterek jelzésével:
Az utóbbi esetben a második paraméter a függvényben a 0 értéket fogja kapni, a hatás ugyanaz lesz, ha egy függvényt hívunk fel ilyen paraméterekkel:
A funkció testrészében definiálatlan értékű paraméterellenőrzés kifejezése rövidebbé tehető. Itt van:
függvény func1 (par1, par2)
ha (! par2) par2 = 0;>
A definiált érték, amely egy logikai kifejezés szerves része, mindig hamis. A fenti példában ezt használjuk.
Az opcionális paramétereket a funkcióparaméterek listájának legvégén kell végezni (lásd a fenti példákat). Ha például az opció első paraméterét opcionálisan megadjuk és így hívjuk:
Hogyan lehet a funkciókat tetszőleges számú paraméterre átvinni?
Olyan függvényt kell írni, amely tetszőleges számú paramétert vesz fel. Hogyan kell ezt csinálni?
A függvény testében egy sor érv áll rendelkezésre, amelyek elemei tartalmazzák a függvény összes paraméterét. Ez a tömb hosszúságú tulajdonsággal rendelkezik, amely visszaadja a tömb elemeinek számát.
var = arguments.length;
(i = 0;
var str = func2 ("Java", "Script");
Egy másik függvény, amely tetszőleges számú karakterlánc paramétert vesz fel, és egy értéket tartalmazó sztringet ad vissza. De ezúttal az első, kötelező, paraméter, egy határoló karaktert vesz igénybe, amelyet ezek a sorok helyeznek el.
var = arguments.length;
(i = 1;
var str = func3 ("+", "Java", "Script");
a "Java + Script" karakterláncot a str. változóba helyezi.
Végül egy tömböt adhat meg a függvénynek a kívánt számú elemhez tartozó paraméterként.
A func3 egy kicsit módosított példája:
függvény func3 (pDelimiter, pars)
var = = pars.length;
(i = 0;
Ezt a funkciót a következőképpen hívják:
var str = func3 ("", új Array ("Java", "Script"));
akkor a "Java Script" karakterlánc megjelenik a str.
Visszatérés többértékű funkciókból Probléma
1. Minden szükséges értéket kiszámolunk a funkció testében.
2. Hozzon létre egy tömböt a függvény testében.
3. Helyezze a számított értékeket a tömb elemei közé.
4. Adja vissza az eredményül kapott tömböt a visszatérő operátorral.
Könnyű kivonni a függvény által visszaadott elemek értékeit.
// Itt vannak azok a kifejezések, amelyek kiszámítják a szükséges értékeket.
// Tegyük fel, hogy mindegyikük. három, és változókba kerülnek
// valuel, value2 és value3.
var arr = új Array ();
Ennek a funkciónak a használata:
var a = someFunc (); var vl = a [0]; var v2 = a [1]; var v3 = a [2];
A számszerű indexekkel rendelkező szokásos tömbök helyett rugalmas tömböket használhatunk string elem indexekkel. Például:
// Itt vannak azok a kifejezések, amelyek kiszámítják a kívánt értékeket
// valuel, value2 és value3.
var arr = új Array ();
visszatérés arr; var a = someFunc (); var v1 = a ["valuel"]; var v2 = a ["érték2"]; var v3 = a ["érték3"];