23 of 264 menu

Функцыя isFinite

Функцыя isFinite для праверкі параметра на тое, што ён з'яўляецца канчатковым лікам (гэта ёсць не радком, масівам і г.д. і не плюс або мінус бясконцасцю).

Як працуе гэтая функцыя: яна верне false, калі лік з'яўляецца плюс або мінус бясконцасцю (гэта ёсць Infinity) або не лікам (гэта ёсць NaN), у астатніх выпадках верне true. Гэта значыць радкі, масівы і г.д. будуць пераўтвораны ў NaN і адпаведна вернуць false.

Аднак ёсць выключэнні: пусты радок '' вяртае true, радок з прабеламі '    ' таксама вяртае true, null вяртае true, для значэнняў true і false таксама вяртаецца true.

Гэта адбываецца таму, што гэтыя значэнні пераўтворацца ў лікі, а не ў NaN. Калі вам патрэбна сапраўды дакладная праверка на лік, якая не лічыць лікам радок з прабелаў, лагічныя і спецыяльныя значэнні - выкарыстоўвайце наступную функцыю isNumeric:

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

Давайце разбярэмся, як яна працуе. Функцыя isFinite пераўтварае параметр у лік і вяртае true, калі гэта не Infinity, -Infinity або NaN. Такім чынам, правая частка адсяе загадзя нелікі, але пакіне такія значэнні як true, false, null, пусты радок '' і радок з прабелаў, бо яны карэктна пераўтворацца ў лікі.

Каб адсеяць гэтыя значэнні, патрэбна функцыя parseFloat, якая для true, false, null, '', '   ' верне NaN. Так уладкавана функцыя parseFloat: яна пераўтварае параметр у радок, гэта значыць true, false, null становяцца 'true', 'false', 'null', а затым счытвае з яе лік, пры гэтым пусты радок і радок з прабелаў даюць NaN. Затым вынік parseFloat апрацоўваецца з дапамогай !isNaN, каб атрымаць true або false замест NaN. У выніку адсяваецца ўсё, акрамя радкоў-лікаў і звычайных лікаў.

Сінтаксіс

isFinite(значэнне);

Прыклад

Зараз isFinite выведе true, бо параметр з'яўляецца лікам:

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

Вынік выканання кода:

true

Прыклад

Зараз isFinite выведе false, бо параметр не з'яўляецца лікам:

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

Вынік выканання кода:

false

Прыклад

Зараз isFinite выведе false, бо параметр з'яўляецца бясконцасцю:

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

Вынік выканання кода:

false

Прыклад

Зараз isFinite выведе false, бо 1/0 - гэта па сутнасці Infinity (бясконцасць):

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

Вынік выканання кода:

false

Прыклад

Зараз isFinite выведе true, бо пусты радок, які не з'яўляецца лікам, - гэта выключэнне:

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

Вынік выканання кода:

true

Глядзіце таксама

  • функцыю isNaN,
    якая ажыццяўляе праверку на NaN
  • аператар typeof,
    які вызначае тып даных
Беларуская
AfrikaansAzərbaycanБългарскиবাংলাČeštinaDanskDeutschΕλληνικά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
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць