23 of 264 menu

Fungsi isFinite

Fungsi isFinite untuk menyemak parameter sama ada ia adalah nombor terhingga (iaitu bukan rentetan, array dan sebagainya dan bukan infiniti positif atau negatif).

Bagaimana fungsi ini berfungsi: ia akan mengembalikan false, jika nombor adalah infiniti positif atau negatif (iaitu Infinity) atau bukan nombor (iaitu NaN), dalam kes lain akan mengembalikan true. Iaitu rentetan, array dan sebagainya akan ditukar kepada NaN dan seterusnya mengembalikan false.

Walau bagaimanapun terdapat pengecualian: rentetan kosong '' mengembalikan true, rentetan dengan ruang '    ' juga mengembalikan true, null mengembalikan true, untuk nilai true dan false juga dikembalikan true.

Ini berlaku kerana nilai-nilai ini ditukar kepada nombor, dan bukan kepada NaN. Jika anda memerlukan semakan nombor yang benar-benar tepat yang tidak menganggap rentetan yang terdiri daripada ruang, nilai boolean dan nilai khas sebagai nombor - gunakan fungsi isNumeric berikut:

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

Mari kita fahami bagaimana ia berfungsi. Fungsi isFinite menukar parameter kepada nombor dan mengembalikan true, jika ia bukan Infinity, -Infinity atau NaN. Oleh itu, bahagian kanan akan menyingkirkan nilai yang jelas bukan nombor, tetapi akan meninggalkan nilai seperti true, false, null, rentetan kosong '' dan rentetan dengan ruang, kerana ia ditukar dengan betul kepada nombor.

Untuk menyingkirkan nilai-nilai ini, diperlukan fungsi parseFloat, yang untuk true, false, null, '', '   ' akan mengembalikan NaN. Begitulah cara fungsi parseFloat berfungsi: ia menukar parameter kepada rentetan, iaitu true, false, null menjadi 'true', 'false', 'null', dan kemudian membaca nombor daripadanya, di mana rentetan kosong dan rentetan dengan ruang menghasilkan NaN. Kemudian hasil parseFloat diproses menggunakan !isNaN, untuk mendapatkan true atau false dan bukannya NaN. Hasilnya, semua nilai disingkirkan kecuali rentetan-nombor dan nombor biasa.

Sintaks

isFinite(nilai);

Contoh

Sekarang isFinite akan mengeluarkan true, kerana parameter adalah nombor:

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

Hasil pelaksanaan kod:

true

Contoh

Sekarang isFinite akan mengeluarkan false, kerana parameter bukan nombor:

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

Hasil pelaksanaan kod:

false

Contoh

Sekarang isFinite akan mengeluarkan false, kerana parameter adalah infiniti:

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

Hasil pelaksanaan kod:

false

Contoh

Sekarang isFinite akan mengeluarkan false, kerana 1/0 - pada dasarnya adalah Infinity (infiniti):

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

Hasil pelaksanaan kod:

false

Contoh

Sekarang isFinite akan mengeluarkan true, kerana rentetan kosong, walaupun bukan nombor, - adalah pengecualian:

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

Hasil pelaksanaan kod:

true

Lihat juga

  • fungsi isNaN,
    yang melakukan semakan untuk NaN
  • operator typeof,
    yang menentukan jenis data
Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak