23 of 264 menu

Funkcija isFinite

Funkcija isFinite za preverjanje parametra, ali je končno število (torej ne niz, matrika itd. in ne plus ali minus neskončnost).

Kako deluje ta funkcija: vrnila bo false, če je število plus ali minus neskončnost (torej Infinity) ali ne število (torej NaN), v vseh drugih primerih bo vrnila true. To pomeni, da bodo nizi, matrike itd. pretvorjeni v NaN in bodo zato vrnili false.

Vendar obstajajo izjeme: prazen niz '' vrne true, niz s presledki '    ' prav tako vrne true, null vrne true, za vrednosti true in false se prav tako vrne true.

To se zgodi, ker se te vrednosti pretvorijo v števila in ne v NaN. Če potrebujete resnično natančno preverjanje števila, ki ne šteje za število niza s presledki, logične in posebne vrednosti - uporabite naslednjo funkcijo isNumeric:

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

Poglejmo, kako deluje. Funkcija isFinite pretvori parameter v število in vrne true, če to ni Infinity, -Infinity ali NaN. Tako bo desni del odstranil očitno neštevila, vendar bo pustil takšne vrednosti kot true, false, null, prazen niz '' in niz s presledki, ker se pravilno pretvorijo v števila.

Za odstranjevanje teh vrednosti je potrebna funkcija parseFloat, ki bo za true, false, null, '', '   ' vrnila NaN. Tako deluje funkcija parseFloat: pretvori parameter v niz, tj. true, false, null postanejo 'true', 'false', 'null', nato pa iz nje prebere število, pri čemer prazen niz in niz s presledki dasta NaN. Nato se rezultat parseFloat obdela z !isNaN, da dobimo true ali false namesto NaN. Kot rezultat se odstrani vse, razen nizov-števil in običajnih števil.

Sintaksa

isFinite(vrednost);

Primer

Zdaj bo isFinite izpisal true, ker je parameter število:

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

Rezultat izvajanja kode:

true

Primer

Zdaj bo isFinite izpisal false, ker parameter ni število:

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

Rezultat izvajanja kode:

false

Primer

Zdaj bo isFinite izpisal false, ker je parameter neskončnost:

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

Rezultat izvajanja kode:

false

Primer

Zdaj bo isFinite izpisal false, ker je 1/0 v bistvu Infinity (neskončnost):

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

Rezultat izvajanja kode:

false

Primer

Zdaj bo isFinite izpisal true, ker je prazen niz, ki ni število, - izjema:

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

Rezultat izvajanja kode:

true

Glejte tudi

  • funkcijo isNaN,
    ki izvaja preverjanje na NaN
  • operator typeof,
    ki določa tip podatkov
Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni