23 of 264 menu

Az isFinite függvény

A isFinite függvény arra szolgál, hogy ellenőrizze a paramétert annak érdekében, hogy véges szám-e (azaz nem sztring, tömb stb. és nem plusz vagy mínusz végtelen).

Hogyan működik ez a függvény: false-t ad vissza, ha a szám plusz vagy mínusz végtelen (azaz Infinity) vagy nem szám (azaz NaN), minden más esetben true-t ad vissza. Azaz a sztringek, tömbök stb. át lesznek alakítva NaN-ná és ennek megfelelően false-t fognak visszaadni.

Van azonban kivétel: az üres sztring '' true-t ad vissza, a szóközöket tartalmazó sztring '    ' szintén true-t ad vissza, a null true-t ad vissza, a true és false értékekre szintén true tér vissza.

Ez azért történik, mert ezek az értékek számokká alakulnak át, és nem NaN-ná. Ha valóban pontos számellenőrzésre van szüksége, amely nem tekinti számnak a szóközökből álló sztringet, a logikai és speciális értékeket - használja a következő isNumeric függvényt:

function isNumeric(num) { return !isNaN(parseFloat(num)) && isFinite(num); };

Nézzük meg, hogyan működik. A isFinite függvény átalakítja a paramétert számmá és true-t ad vissza, ha az nem Infinity, -Infinity vagy NaN. Így a jobb oldal kiszűri a nyilvánvalóan nem szám értékeket, de olyan értékeket hagyj meg, mint a true, false, null, üres sztring '' és a szóközöket tartalmazó sztring, mert ezek megfelelően átalakulnak számokká.

Ezen értékek kiszűréséhez a parseFloat függvényre van szükség, amely a true, false, null, '', '   ' értékekre NaN-t ad vissza. A parseFloat függvény így működik: az átalakítja a paramétert sztringgé, azaz a true, false, null értékek 'true', 'false', 'null' sztringekké válnak, majd kiolvas belőlük egy számot, eközben az üres sztring és a szóközöket tartalmazó sztring NaN-t ad. Ezután a parseFloat eredményét feldolgozza a !isNaN segítségével, hogy true vagy false legyen NaN helyett. Ennek eredményeképpen minden kiszűrődik, kivéve a szám-sztringeket és a közönséges számokat.

Szintaxis

isFinite(érték);

Példa

Most a isFinite true-t fogja kiírni, mivel a paraméter szám:

let num = 3; console.log(isFinite(num));

A kód végrehajtásának eredménye:

true

Példa

Most a isFinite false-t fogja kiírni, mivel a paraméter nem szám:

let num = 'abcde'; console.log(isFinite(num));

A kód végrehajtásának eredménye:

false

Példa

Most a isFinite false-t fogja kiírni, mivel a paraméter végtelen:

let num = Infinity; console.log(isFinite(num));

A kód végrehajtásának eredménye:

false

Példa

Most a isFinite false-t fogja kiírni, mivel a 1/0 lényegében Infinity (végtelen):

let num = 1 / 0; console.log(isFinite(num));

A kód végrehajtásának eredménye:

false

Példa

Most a isFinite true-t fogja kiírni, mivel az üres sztring, amely nem szám, kivételt képez:

let num = ''; console.log(isFinite(num));

A kód végrehajtásának eredménye:

true

Lásd még

  • a isNaN függvényt,
    amely NaN ellenőrzést végez
  • a typeof operátort,
    amely meghatározza az adattípust
Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás