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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј