23 of 264 menu

Funkcija isFinite

Funkcija isFinite naudojama parametrui patikrinti, ar jis yra baigtinis skaičius (t.y. ne eilutė, masivas ir pan., ir ne plius arba minus begalybė).

Kaip ši funkcija veikia: ji grąžins false, jei skaičius yra plius arba minus begalybė (t.y. Infinity) arba ne skaičius (t.y. NaN), kitais atvejais grąžins true. Tai yra, eilutės, masyvai ir pan. bus paversti NaN ir atitinkamai grąžins false.

Tačiau yra išimčių: tuščia eilutė '' grąžina true, eilutė su tarpais '    ' taip pat grąžina true, null grąžina true, reikšmėms true ir false taip pat grąžinama true.

Taip nutinka todėl, kad šios reikšmės konvertuojamos į skaičius, o ne į NaN. Jei jums reikia tikslaus skaičiaus patikrinimo, kuris nepripažįsta skaičiumi eilutę iš tarpų, loginės ir specialiąsias reikšmes - naudokite šią funkciją isNumeric:

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

Išsiaiškinkime, kaip ji veikia. Funkcija isFinite konvertuoja parametrą į skaičių ir grąžina true, jei tai ne Infinity, -Infinity ar NaN. Taigi, dešinioji dalis atmes akivaizdžius neskaičius, bet paliks tokias reikšmes kaip true, false, null, tuščią eilutę '' ir eilutę su tarpais, nes jos konvertuojamos į skaičius korektiškai.

Norint atsijoti šias reikšmes, reikia funkcijos parseFloat, kuri true, false, null, '', '   ' grąžins NaN. Taip veikia funkcija parseFloat: ji konvertuoja parametrą į eilutę, t.y. true, false, null tampa 'true', 'false', 'null', o tada nuskaito iš jos skaičių, o tuščia eilutė ir eilutė su tarpais duoda NaN. Tada parseFloat rezultatas apdorojamas naudojant !isNaN, kad gautumėte true arba false vietoj NaN. Rezultate atsijojama viskas, išskyrus skaičių eilutes ir paprastus skaičius.

Sintaksė

isFinite(reikšmė);

Pavyzdys

Dabar isFinite išves true, kadangi parametras yra skaičius:

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

Kodo vykdymo rezultatas:

true

Pavyzdys

Dabar isFinite išves false, kadangi parametras nėra skaičius:

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

Kodo vykdymo rezultatas:

false

Pavyzdys

Dabar isFinite išves false, kadangi parametras yra begalybė:

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

Kodo vykdymo rezultatas:

false

Pavyzdys

Dabar isFinite išves false, kadangi 1/0 - tai iš esmės Infinity (begalybė):

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

Kodo vykdymo rezultatas:

false

Pavyzdys

Dabar isFinite išves true, kadangi tuščia eilutė, nors ir nėra skaičius, - yra išimtis:

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

Kodo vykdymo rezultatas:

true

Taip pat žiūrėkite

  • funkciją isNaN,
    kuri atlieka patikrinimą ar reikšmė yra NaN
  • operatorių typeof,
    kuris nustato duomenų tipą
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti