23 of 264 menu

Funktionen isFinite

Funktionen isFinite används för att kontrollera om en parameter är ett ändligt tal (dvs inte en sträng, array etc. och inte plus eller minus oändligheten).

Hur denna funktion fungerar: den returnerar false, om talet är plus eller minus oändligheten (dvs Infinity) eller inte ett tal (dvs NaN), i andra fall returnerar den true. Det betyder att strängar, arrayer etc. kommer att omvandlas till NaN och följaktligen returnera false.

Det finns dock undantag: en tom sträng '' returnerar true, en sträng med mellanslag '    ' returnerar också true, null returnerar true, för värdena true och false returneras också true.

Detta händer eftersom dessa värden omvandlas till tal, och inte till NaN. Om du behöver en verkligt exakt kontroll för tal, som inte anser en sträng med mellanslag, logiska värden och specialvärden för tal - använd följande funktion isNumeric:

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

Låt oss förstå hur den fungerar. Funktionen isFinite omvandlar parametern till ett tal och returnerar true, om det inte är Infinity, -Infinity eller NaN. Således kommer höger delen att filtrera bort uppenbara icke-tal, men lämnar kvar sådana värden som true, false, null, tom sträng '' och sträng med mellanslag, eftersom de korrekt omvandlas till tal.

För att filtrera bort dessa värden behövs funktionen parseFloat, som för true, false, null, '', '   ' kommer att returnera NaN. Så fungerar funktionen parseFloat: den omvandlar parametern till en sträng, dvs true, false, null blir 'true', 'false', 'null', och läser sedan talet från den, där tom sträng och sträng med mellanslag ger NaN. Sedan bearbetas resultatet från parseFloat med hjälp av !isNaN, för att få true eller false istället för NaN. Som ett resultat filtreras allt bort förutom tal-strängar och vanliga tal.

Syntax

isFinite(värde);

Exempel

Nu kommer isFinite att skriva ut true, eftersom parametern är ett tal:

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

Resultat av kodkörning:

true

Exempel

Nu kommer isFinite att skriva ut false, eftersom parametern inte är ett tal:

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

Resultat av kodkörning:

false

Exempel

Nu kommer isFinite att skriva ut false, eftersom parametern är oändligheten:

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

Resultat av kodkörning:

false

Exempel

Nu kommer isFinite att skriva ut false, eftersom 1/0 - i princip är Infinity (oändligheten):

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

Resultat av kodkörning:

false

Exempel

Nu kommer isFinite att skriva ut true, eftersom tom sträng, som inte är ett tal, är ett undantag:

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

Resultat av kodkörning:

true

Se även

  • funktionen isNaN,
    som utför kontroll för NaN
  • operatorn typeof,
    som bestämmer datatyp
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa