Rumah  >  Artikel  >  hujung hadapan web  >  Pengenalan terperinci kepada jenis nilai dalam JavaScript

Pengenalan terperinci kepada jenis nilai dalam JavaScript

PHPz
PHPzasal
2016-05-16 16:23:451241semak imbas

Intipati program komputer boleh dikatakan sebahagian besarnya ialah pengendalian, pembacaan dan penulisan pelbagai maklumat (nilai) oleh mesin. Dalam JavaScript, terdapat banyak jenis nilai, yang dibahagikan kepada dua kategori utama: Primitif (jenis asas) dan Objek (objek).

Primitif

Terdapat 5 jenis Primitif dalam JavaScript:

1.Nombor. Semua nombor, sama ada integer atau perpuluhan, adalah daripada jenis Nombor.
2. Rentetan. Jenis rentetan.
3.Boolean. Jenis Boolean, benar atau salah.
4.null. Jenis ini hanya mempunyai satu nilai, null.
5.tidak ditentukan. Jenis ini hanya mempunyai satu nilai, tidak ditentukan.

Objek

Kecuali Primitif, sebarang nilai lain dalam JavaScript ialah Object. Terdapat jenis Objek berikut:

1 objek pasangan nilai kunci JSON. Seperti {"name":"Bob", "age":42}.
2. Seperti [1,4,5,7,9].
3. Seperti function(){return true;}. Terdapat dua bentuk fungsi dalam JavaScript: 1. Blok kod boleh laku 2. Pembina kelas (Kelas). Tidak kira apa bentuknya, fungsi sentiasa objek.

JS disertakan dengan objek global

Untuk memudahkan penulisan atur cara, JavaScript disertakan dengan objek global, yang mempunyai 7 pembolehubah ahli berikut, yang kesemuanya adalah jenis Objek :

1.Math. Satu siri operasi matematik yang kompleks boleh diselesaikan dengan memanggil kaedah objek Matematik.
2.Nombor. Beberapa nilai istimewa boleh diperoleh dengan mengakses pembolehubah ahli objek Nombor.
3. Tatasusunan. Pembina untuk objek tatasusunan.
4.Fungsi. Pembina objek fungsi.
5.Tarikh. Pembina untuk objek tarikh.
6.RegExp. Pembina untuk objek ungkapan biasa.
7.Ralat. Pembina untuk objek ralat.

Apabila menulis program, memandangkan 7 pembolehubah di atas boleh diakses terus, ia juga boleh digunakan sebagai objek global.

Tidak Boleh Berubah dan Boleh Berubah

Primitif dan Objek mempunyai ciri yang berbeza: semua Primitif Tidak Boleh Berubah, dan semua Objek Boleh Berubah. Mengambil jenis String sebagai contoh, selepas memanggil kaedah String untuk mengeditnya, JavaScript akan menyimpan hasil yang diedit dalam objek String baharu dan objek String asal tidak akan berubah dalam apa jua cara:

var s = "test";
s.toUpperCase();//return a new String object "TEST"
console.log(s);//"test" -- original String s does not change

Percubaan

Dalam JavaScript, anda boleh mendapatkan jenis nilai dengan menggunakan jenis kata kunci.

Dapatkan jenis nombor:

var n = 42;
console.log(typeof n);

Hasil keluaran program ialah nombor.

Dapatkan jenis rentetan:

var s = "test";
console.log(typeof s);

Hasil keluaran program ialah rentetan.

Dapatkan jenis nilai Boolean:

var b = true;
console.log(typeof b);

Hasil keluaran program ialah boolean.

Dapatkan jenis null:

var x = null;
console.log(typeof x);

Atur cara harus mengeluarkan null, tetapi ia sebenarnya mengeluarkan objek. Sebabnya ialah apabila menggunakan jenis operasi pada nilai nol, program mengembalikan objek: pepijat yang telah wujud sejak versi pertama JavaScript. Semasa pembangunan piawai ECMAScript, terdapat beberapa perdebatan menarik tentang sama ada untuk membetulkan pepijat ini: kesimpulan akhir ialah membetulkan pepijat akan menyebabkan masalah untuk terlalu banyak tapak web, jadi ia tidak dibetulkan buat masa ini.

Dapatkan jenis undefined:

var y = undefined;
console.log(typeof y);

Hasil keluaran program tidak ditentukan.

Dapatkan jenis objek JSON:

var j = {"name":"Bob", "age":42};
console.log(typeof j);

Hasil keluaran program ialah objek.

Dapatkan jenis objek tatasusunan:

var a = [2,3,5,7,11];
console.log(typeof a);

Hasil keluaran program ialah objek.

Dapatkan jenis objek fungsi:

var f = function(){return true;};
console.log(typeof f);

Objek fungsi adalah istimewa, dan operator jenis mengembalikan hasilnya sebagai fungsi.

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