23 of 264 menu

isFinite функциясы

isFinite функциясы параметрдің шекті сан екенін тексеру үшін (яғни жол, массив және т.б. емес және плюс немесе минус шексіздік емес).

Бұл функция қалай жұмыс істейді: егер сан плюс немесе минус шексіздік болса (яғни Infinity) немесе сан емес болса (яғни NaN), false қайтарады, басқа жағдайларда true қайтарады. Яғни жолдар, массивтер және т.б. NaN-ке түрлендіріледі және сәйкесінше false қайтарады.

Алайда ерекшеліктер бар: бос жол '' true қайтарады, бос орындар жолы '    ' сондай-ақ true қайтарады, null true қайтарады, true және false мәндері үшін де true қайтарылады.

Бұл мына себептен болады: бұл мәндер NaN-ке емес, сандарға түрлендіріледі. Егер сізге бос орындар жолын, логикалық және арнайы мәндерді сан ретінде санамайтын шынымен дәл санды тексеру функциясы қажет болса, мына функцияны isNumeric қолданыңыз:

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

Оның қалай жұмыс істейтінін анықтайық. isFinite функциясы параметрді санға түрлендіреді және егер бұл Infinity, -Infinity немесе NaN болмаса, true қайтарады. Осылайша, оң жақ бөлігі анық сан емес мәндерді електен өткізеді, бірақ true, false, null, бос жол '' және бос орындар жолы сияқты мәндерді қалдырады, себебі олар дұрыс түрлендіріледі сандарға.

Бұл мәндерді електен өткізу үшін parseFloat функциясы қажет, ол true, false, null, '', '   ' үшін NaN қайтарады. parseFloat функциясы осылай жұмыс істейді: ол параметрді жолға түрлендіреді, яғни true, false, null 'true', 'false', 'null' болады, содан кейін одан санды оқиды, бұл ретте бос жол және бос орындар жолы NaN береді. Содан кейін parseFloat нәтижесі !isNaN көмегімен өңделеді, NaN орнына true немесе false алу үшін. Нәтижесінде сан-жолдар мен жай сандардан басқа барлығы електен өткізіледі.

Синтаксис

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 файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау