Rumah  >  Artikel  >  hujung hadapan web  >  Beberapa perangkap yang perlu anda perhatikan apabila menggunakan operator jenis dalam petua JavaScript_javascript

Beberapa perangkap yang perlu anda perhatikan apabila menggunakan operator jenis dalam petua JavaScript_javascript

WBOY
WBOYasal
2016-05-16 16:32:081512semak imbas

Typeof ialah operator, dan hasil yang dikembalikan kepada operan ialah rentetan Terdapat 6 jenis (hanya untuk ES, tidak termasuk objek persekitaran HOST).

1.'tidak ditentukan'
2.'boolean'
3. 'rentetan'
4.'nombor'
5.'objek'
6.'fungsi'

Oleh kerana ia adalah operator sendiri, ia bukan fungsi, jadi tidak perlu menambah kurungan apabila menggunakannya.

Salin kod Kod adalah seperti berikut:

if (typeof(obj) === 'undefined') {
// ...
}

typeof digunakan untuk menentukan jenis, tetapi ia mempunyai beberapa perangkap

1. Mengembalikan null ialah 'objek', tetapi anda tidak boleh menggunakannya sebagai objek.

Salin kod Kod adalah seperti berikut:

var obj = null
if (jenis obj === 'objek') {
Obj.a() // Ralat dilaporkan di sini
}

2. Nilai pulangan untuk NaN ialah 'nombor', tetapi anda tidak boleh menggunakannya untuk operasi aritmetik.

Salin kod Kod adalah seperti berikut:

var obj = {}
var num = parseInt(obj.a)
jika (jenis nombor === 'nombor') {
num = num 10 // Selepas pelaksanaan, num masih NaN
}

3. Objek, tatasusunan dan ungkapan biasa tidak boleh dibezakan, dan operasi pada mereka semua mengembalikan 'objek'.

Salin kod Kod adalah seperti berikut:

var obj = {}
var arr = []
var reg = /pop/g
console.log(typeof obj) // 'objek'
console.log(typeof arr) // 'objek'
console.log(typeof reg) // 'objek'

4. Safar5 dan versi sebelum Chrome7 mengembalikan 'fungsi' untuk objek biasa.

Akhir sekali, tampal penjelasan dalam spesifikasi

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