isFinite funksiyasi

isFinite funksiyasi parametrning chekli son ekanligini tekshirish uchun ishlatiladi (ya'ni satr, massiv va h.k. emas va ham plus yoki minus cheksizlik emas).

Bu funksiya qanday ishlaydi: agar son plus yoki minus cheksizlik bo'lsa (ya'ni Infinity) yoki son bo'lmasa (ya'ni NaN), false qaytaradi, qolgan hollarda true qaytaradi. Ya'ni satrlar, massivlar va h.k. NaN ga o'zgartiriladi va shuning uchun false qaytaradi.

Biroq istisnolar mavjud: bo'sh satr '' true qaytaradi, bo'shliqlardan iborat satr ' ' ham true qaytaradi, null true qaytaradi, true va false qiymatlari uchun ham true qaytariladi.

Bu shunday sodir bo'ladi, chunki bu qiymatlar NaN emas, balki sonlarga o'zgartiriladi. Agar sizga bo'shliqlardan iborat satrni, mantiqiy va maxsus qiymatlarni son hisoblamaydigan, aniq son tekshiruvi kerak bo'lsa - quyidagi isNumeric funksiyasidan foydalaning:

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

Keling, u qanday ishlashini tushunamiz. isFinite funksiyasi parametrni songa o'zgartiradi va agar u Infinity, -Infinity yoki NaN bo'lmasa, true qaytaradi. Shunday qilib, o'ng qismi aniq son bo'lmagan narsalarni chiqarib tashlaydi, lekin true, false, null, bo'sh satr '' va bo'shliqlardan iborat satr kabi qiymatlarni qoldiradi, chunki ular to'g'ri sonlarga o'zgartiriladi.

Bu qiymatlarni chiqarib tashlash uchun parseFloat funksiyasi kerak, u true, false, null, '', ' ' uchun NaN qaytaradi. parseFloat funksiyasi shunday ishlaydi: u parametrni satrga o'zgartiradi, ya'ni true, false, null 'true', 'false', 'null' ga aylanadi, so'ngra undan sonni o'qiydi, bunda bo'sh satr va bo'shliqlardan iborat satr NaN beradi. Keyin parseFloat natijasi !isNaN yordamida NaN o'rniga true yoki false olish uchun qayta ishlanadi. Natijada son-satrlar va oddiy sonlardan boshqa hamma narsa chiqarib tashlanadi.

Sintaksis

javascriptisFinite(qiymat);

Misol

Hozir isFinite true chiqaradi, chunki parametr son:

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

Kodni bajarish natijasi:

javascripttrue

Misol

Hozir isFinite false chiqaradi, chunki parametr son emas:

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

Kodni bajarish natijasi:

javascriptfalse

Misol

Hozir isFinite false chiqaradi, chunki parametr cheksizlik:

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

Kodni bajarish natijasi:

javascriptfalse

Misol

Hozir isFinite false chiqaradi, chunki 1/0 - aslida Infinity (cheksizlik):

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

Kodni bajarish natijasi:

javascriptfalse

Misol

Hozir isFinite true chiqaradi, chunki bo'sh satr, son bo'lmasa ham, - bu istisno:

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

Kodni bajarish natijasi:

javascripttrue

Shuningdek qarang

  • isNaN funksiyasi,
    NaN ni tekshiradi
  • typeof operatori,
    ma'lumotlar turini aniqlaydi