23 of 264 menu

Funkcija isFinite

Funkcija isFinite izmanto, lai pārbaudītu, vai parametrs ir galīgs skaitlis (tas ir, ne virkne, masīvs utt. un ne plus vai mīnus bezgalība).

Kā šī funkcija strādā: tā atgriezīs false, ja skaitlis ir plus vai mīnus bezgalība (tas ir Infinity) vai nav skaitlis (tas ir NaN), visos citos gadījumos atgriezīs true. Tas ir, virknes, masīvi utt. tiks pārveidoti par NaN un attiecīgi atgriezīs false.

Tomēr ir izņēmumi: tukša virkne '' atgriež true, virkne ar atstarpēm '    ' arī atgriež true, null atgriež true, vērtībām true un false arī tiek atgriezts true.

Tas notiek tāpēc, ka šīs vērtības tiek pārveidotas par skaitļiem, nevis par NaN. Ja jums ir nepieciešama tiešām precīza pārbaude uz skaitli, kas neuzskata par skaitli virkni no atstarpēm, loģiskās un speciālās vērtības - izmantojiet šādu funkciju isNumeric:

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

Izpētīsim, kā tā darbojas. Funkcija isFinite pārveido parametru par skaitli un atgriež true, ja tas nav Infinity, -Infinity vai NaN. Tādējādi labā puse izslēgs acīmredzami neskaitļus, bet atstās tādas vērtības kā true, false, null, tukšo virkni '' un virkni ar atstarpēm, jo tās korekti tiek pārveidotas par skaitļiem.

Lai izslēgtu šīs vērtības, ir nepieciešama funkcija parseFloat, kas true, false, null, '', '   ' atgriezīs NaN. Tā darbojas funkcija parseFloat: tā pārveido parametru par virkni, t.i., true, false, null kļūst par 'true', 'false', 'null', un pēc tam nolasa no tās skaitli, kamēr tukša virkne un virkne ar atstarpēm dod NaN. Tad parseFloat rezultāts tiek apstrādāts ar !isNaN, lai iegūtu true vai false NaN vietā. Rezultātā tiek izslēgts viss, izņemot skaitļu virknes un parastos skaitļus.

Sintakse

isFinite(vērtība);

Piemērs

Šoreiz isFinite izvadīs true, jo parametrs ir skaitlis:

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

Koda izpildes rezultāts:

true

Piemērs

Šoreiz isFinite izvadīs false, jo parametrs nav skaitlis:

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

Koda izpildes rezultāts:

false

Piemērs

Šoreiz isFinite izvadīs false, jo parametrs ir bezgalība:

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

Koda izpildes rezultāts:

false

Piemērs

Šoreiz isFinite izvadīs false, jo 1/0 - tas būtībā ir Infinity (bezgalība):

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

Koda izpildes rezultāts:

false

Piemērs

Šoreiz isFinite izvadīs true, jo tukša virkne, kas nav skaitlis, - ir izņēmums:

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

Koda izpildes rezultāts:

true

Skatiet arī

  • funkciju isNaN,
    kas veic pārbaudi uz NaN
  • operators typeof,
    kas nosaka datu tipu
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt