Adakah anda tahu mata pengetahuan kemahiran TypeOf_javascript ini

WBOY
Lepaskan: 2016-05-16 15:14:33
asal
1286 orang telah melayarinya

Semalam, saya bermain dengan rakan sekerja saya. Mereka memberi saya soalan pengekodan, yang saya fikir ia agak menyeronokkan. Jika ada yang salah, sila nyatakan dan kita boleh membuat kemajuan bersama.

Kodnya seperti ini:

<!DOCTYPE html>
<head>
<title>typeof</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
</head>
<body>
<script>
var a= a||null; 
var b= c||null; 
var c= typeof f;
console.log(a);
console.log(b);
console.log(c);
</script>
</body>
</html>
Salin selepas log masuk

Jadi, jika anda menjalankan kod ini, apakah yang akan dicetak penyahpepijat krom?

Sila lihat pemaparan


Mengapa keputusan ini berlaku?

Mula-mula analisa dua nol dalam gambar di atas


Kerana Javascript akan membuat pra-parse (menaik) sebelum melaksanakan kod.

Apakah itu mengangkat?

Iaitu, dalam JavaScript, anda boleh mengisytiharkan berbilang penyataan var di mana-mana sahaja dalam fungsi Ia akan berfungsi seolah-olah ia diisytiharkan di bahagian atas fungsi dan akan memberikan pembolehubah yang diisytiharkan oleh var nilai awal yang tidak ditentukan. Tingkah laku ini dipanggil mengangkat.

Jadi, sebelum melaksanakan kod di atas, Javascript akan terlebih dahulu menghurai (mengangkat) semua pembolehubah var (a, b, c) Apabila a||null dilaksanakan, a tidak ditentukan dan kerana ia adalah | , jadi hasilnya adalah batal.

c||null adalah kebenaran.

Mari kita lihat sekali lagi, mengapa jenis f tidak ditentukan? Jika f tidak ditakrifkan, bukankah ralat harus dilaporkan?

Ya, jika kami menggunakan pembolehubah yang tidak ditentukan, penyemak imbas akan melaporkan ralat.

Walau bagaimanapun, apabila menggunakan typeof untuk menentukan pembolehubah yang tidak ditentukan, undefined akan dikembalikan.

Apakah mekanisme yang digunakan oleh jenis untuk menentukan jenis nilai? Ringkasannya adalah seperti berikut:

1. Untuk nilai jenis angka, typeof akan mengembalikan nombor Nota: NaN juga merupakan jenis angka kerana ia mewakili nilai bukan angka khas dalam JavaScript.

2. Untuk nilai jenis rentetan, typeof akan mengembalikan rentetan.

3. Untuk nilai jenis Boolean, typeof akan mengembalikan boolean.

4. Untuk objek, tatasusunan dan null, jenis akan mengembalikan objek

5. Untuk jenis fungsi, jenis mengembalikan fungsi

6 Jika operan tidak ditakrifkan (tidak wujud atau tidak diberikan nilai), undefined akan dikembalikan.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!