Rumah  >  Artikel  >  hujung hadapan web  >  Kaedah pelaksanaan paling mudah untuk menentukan jenis integer dalam JavaScript

Kaedah pelaksanaan paling mudah untuk menentukan jenis integer dalam JavaScript

PHPz
PHPzasal
2016-05-16 16:31:551432semak imbas

Artikel ini terutamanya memperkenalkan kaedah pelaksanaan yang paling mudah untuk menilai jenis integer dalam JavaScript Bab ini memberikan berbilang kaedah untuk menilai integer, dan akhirnya meringkaskan kaedah pelaksanaan terpendek dan paling ringkas yang boleh dirujuk oleh Rakan yang memerlukan.

Kami tahu bahawa JavaScript menyediakan operator jenis, jadi perkara paling mudah untuk difikirkan ialah menggunakan typeof untuk menentukan sama ada ia adalah jenis nombor.

function isNumber(obj) {
    return typeof obj === 'number'
}

Fungsi ini tidak mempunyai masalah dengan integer dan nombor titik terapung, tetapi ia juga mengembalikan benar untuk nilai NaN, yang membuatkan orang berasa tidak selesa Lagipun, tiada siapa yang akan menggunakan NaN untuk melakukan operasi aritmetik selepas menggunakan adalahNombor untuk menilai.

Kemudian perbaiki dan cuba gunakan Object.prototype.toString.

function isNumber(obj) {
    return Object.prototype.toString.call(obj) === '[object Number]'
}

Sama seperti jenis penghakiman, ia juga kembali benar untuk NaN Jumlah kod masih besar, yang bukan hasil yang diingini. Kaedah toString.call boleh dilaksanakan untuk menilai tatasusunan (Array), tetapi nombor di luar kemampuannya.

Sebagai penambahbaikan selanjutnya, gunakan fungsi isNaN untuk menangani nilai NaN.

function isNumber(obj) {
    return typeof obj === 'number' && !isNaN(obj)
}

Kali ini, jika input bukan nombor (NaN atau nilai yang boleh ditukar kepada NaN), false akan dikembalikan

function isNumber(obj) {
    return typeof obj === 'number' && !isNaN(obj)
}
isNumber(1)   // true
isNumber(1.2) // true
isNumber(NaN) // false
isNumber( parseInt('a') ) // false

Nah, ini Nombor adalah baik, tetapi tidak Terdapat kaedah yang setara, menggunakan isFinite untuk menilai

function isNumber(obj) {
    return typeof obj === 'number' && isFinite(obj)    
}

Sehingga kini, pertimbangan berangka kod terpendek ialah yang ketiga yang disebut dalam artikel ini yang menggunakan fungsi isNaN. . Berikut ialah pelancaran besar kod penghakiman nombor terpendek di dunia

function isNumber(obj) {
    return obj === +obj
}

Mengembalikan benar untuk integer dan nombor titik terapung, dan mengembalikan palsu untuk NaN atau nilai yang boleh ditukar kepada NaN.

Anda tidak faham? Gu~~(╯﹏╰)

Rakan taman berkata bahawa ini bukan kod angka penghakiman terpendek di dunia, dan parameter obj boleh ditukar kepada satu aksara. (⊙o⊙) Anda betul.

Secara analogi, terdapat pertimbangan terpendek yang serupa menggunakan ciri bahasa dinamik JS (penukaran jenis dalaman automatik semasa operasi operator).

// 判断字符串
function isString(obj) {
    return obj === obj+''
}
// 判断布尔类型
function isBoolean(obj) {
    return obj === !!obj
}

Di atas adalah keseluruhan kandungan bab ini Untuk lebih banyak tutorial berkaitan, sila lawati Tutorial Video JavaScript!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Nodejs_node.js awalArtikel seterusnya:Nodejs_node.js awal