23 of 264 menu

Funktionen isFinite

Funktionen isFinite bruges til at kontrollere om en parameter er et endeligt tal (dvs. ikke en streng, et array osv. og ikke plus eller minus uendelighed).

Sådan fungerer denne funktion: den returnerer false, hvis tallet er plus eller minus uendelighed (dvs. Infinity) eller ikke er et tal (dvs. NaN), i alle andre tilfælde returnerer den true. Det vil sige, at strenge, arrays osv. vil blive konverteret til NaN og vil derfor returnere false.

Der er dog undtagelser: en tom streng '' returnerer true, en streng med mellemrum '    ' returnerer også true, null returnerer true, for værdierne true og false returneres der også true.

Dette sker, fordi disse værdier konverteres til tal, og ikke til NaN. Hvis du har brug for en virkelig præcis kontroll af et tal, som ikke betragter en streng bestående af mellemrum, logiske værdier og specielle værdier - brug følgende funktion isNumeric:

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

Lad os se på, hvordan den fungerer. Funktionen isFinite konverterer parameteren til et tal og returnerer true, hvis det ikke er Infinity, -Infinity eller NaN. Således vil højre side frasortere åbenlyst ikke-tal, men vil lade værdier som true, false, null, den tomme streng '' og strengen med mellemrum bestå, da de korrekt konverteres til tal.

For at frasortere disse værdier er funktionen parseFloat nødvendig, som for true, false, null, '', '   ' vil returnere NaN. Sådan fungerer funktionen parseFloat: den konverterer parameteren til en streng, dvs. true, false, null bliver til 'true', 'false', 'null', og derefter læser den tallet fra den, hvorved den tomme streng og strengen med mellemrum giver NaN. Derefter behandles resultatet af parseFloat med !isNaN, for at få true eller false i stedet for NaN. Som et resultat bliver alt frasorteret undtagen talstrenge og almindelige tal.

Syntaks

isFinite(værdi);

Eksempel

Nu vil isFinite udskrive true, da parameteren er et tal:

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

Resultatet af kodeudførelsen:

true

Eksempel

Nu vil isFinite udskrive false, da parameteren ikke er et tal:

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

Resultatet af kodeudførelsen:

false

Eksempel

Nu vil isFinite udskrive false, da parameteren er uendelighed:

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

Resultatet af kodeudførelsen:

false

Eksempel

Nu vil isFinite udskrive false, da 1/0 - i bund og grund er Infinity (uendelighed):

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

Resultatet af kodeudførelsen:

false

Eksempel

Nu vil isFinite udskrive true, da den tomme streng, som ikke er et tal, - er en undtagelse:

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

Resultatet af kodeudførelsen:

true

Se også

  • funktionen isNaN,
    som udfører kontrollen for NaN
  • operatoren typeof,
    som bestemmer datatypen
Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis