23 of 264 menu

Funksjonen isFinite

Funksjonen isFinite for å sjekke om en parameter er et endelig tall (dvs. ikke en streng, array osv. og ikke pluss eller minus uendelig).

Hvordan denne funksjonen fungerer: den returnerer false, hvis tallet er pluss eller minus uendelig (altså Infinity) eller ikke et tall (altså NaN), i andre tilfeller returnerer den true. Det vil si at strenger, arrays osv. vil bli konvertert til NaN og følgelig returnere false.

Det er imidlertid unntak: en tom streng '' returnerer true, en streng med mellomrom '    ' returnerer også true, null returnerer true, for verdiene true og false returneres det også true.

Dette skjer fordi disse verdiene blir konvertert til tall, og ikke til NaN. Hvis du trenger en virkelig nøyaktig sjekk på tall, som ikke regner en streng bestående av mellomrom, boolske og spesielle verdier som et tall - bruk følgende funksjon isNumeric:

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

La oss finne ut hvordan den fungerer. Funksjonen isFinite konverterer parameteren til et tall og returnerer true, hvis det ikke er Infinity, -Infinity eller NaN. Dermed vil høyre side fjerne åpenbare ikke-tall, men lar slike verdier som true, false, null, tom streng '' og streng med mellomrom være, fordi de konverteres korrekt til tall.

For å fjerne disse verdiene, trengs funksjonen parseFloat, som for true, false, null, '', '   ' vil returnere NaN. Slik fungerer funksjonen parseFloat: den konverterer parameteren til en streng, dvs. true, false, null blir til 'true', 'false', 'null', og leser deretter et tall fra den, hvor tom streng og streng med mellomrom gir NaN. Deretter behandles resultatet av parseFloat ved hjelp av !isNaN, for å få true eller false i stedet for NaN. Som et resultat fjernes alt, bortsett fra tall-strenger og vanlige tall.

Syntaks

isFinite(verdi);

Eksempel

Nå vil isFinite skrive ut true, siden parameteren er et tall:

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

Resultat av kjøring av koden:

true

Eksempel

Nå vil isFinite skrive ut false, siden parameteren ikke er et tall:

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

Resultat av kjøring av koden:

false

Eksempel

Nå vil isFinite skrive ut false, siden parameteren er uendelig:

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

Resultat av kjøring av koden:

false

Eksempel

Nå vil isFinite skrive ut false, siden 1/0 i bunn og grunn er Infinity (uendelig):

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

Resultat av kjøring av koden:

false

Eksempel

Nå vil isFinite skrive ut true, siden en tom streng, som ikke er et tall, er et unntak:

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

Resultat av kjøring av koden:

true

Se også

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