Rumah  >  Artikel  >  hujung hadapan web  >  Lima jenis data asas dalam kemahiran javascript_javascript

Lima jenis data asas dalam kemahiran javascript_javascript

WBOY
WBOYasal
2016-05-16 15:42:331357semak imbas

[0] 5 jenis data:

[0.1]Jenis data asas: Undefined, Null, Boolean, Number, String

           [0.1.1] Nilai jenis asas merujuk kepada segmen data mudah, 5 jenis asas diakses mengikut nilai, kerana nilai sebenar yang disimpan dalam pembolehubah boleh dimanipulasi

                                                                          [0.1.2] Nilai jenis asas menduduki memori dan saiz ruang yang tetap. Menyalin nilai jenis primitif dari satu pembolehubah ke yang lain mencipta salinan nilai.

                                                                                                                                                                                                                                     

[0.2] Jenis data rujukan: Objek

[0.2.1] Nilai jenis rujukan merujuk kepada objek yang boleh terdiri daripada berbilang nilai. js tidak membenarkan akses terus ke lokasi dalam memori, iaitu, ruang memori objek operasi tidak boleh diakses terus. Apabila anda memanipulasi objek, anda sebenarnya memanipulasi rujukan kepada objek dan bukannya objek sebenar.

                                                                                                                                                                                                                                                                  Nilai jenis rujukan mungkin objek, yang boleh disimpan dalam timbunan objek, objek yang sebenarnya mengandungi nilai . Menyalin nilai jenis rujukan dari satu pembolehubah ke yang lain sebenarnya menyalin penunjuk, jadi kedua-dua pembolehubah akhirnya menunjuk ke objek yang sama.

                                                      [0.2.3] Untuk nilai jenis rujukan, anda boleh menambah atribut dan kaedah padanya, dan anda juga boleh menukar serta memadamkan atribut dan kaedahnya.

[1]Tidak ditentukan

[1.1] Jenis Undefined hanya mempunyai satu nilai, iaitu undefined

[1.2]var a 96b4fef55684b9312718d5de63fb7121

[1.3] Untuk pembolehubah yang belum diisytiharkan, anda hanya boleh melakukan satu operasi, iaitu menggunakan operator jenis untuk mengesan jenis datanya [tetapi ia akan menyebabkan ralat dalam mod ketat]

[1.4] Adegan penampilan:

                                                                                                                                                                                                                                                                       1] Mengisytiharkan pembolehubah tidak ditetapkan

                                                                                                                                                                                                           Dapatkan atribut objek yang tidak wujud

         [1.4.3] Hasil pelaksanaan fungsi tanpa nilai pulangan

         [1.4.4] Parameter fungsi tidak dihantar dalam

[1.4.5]kosong(ungkapan)

[1.5]Penukaran jenis

Boolean(tidak ditentukan):salah

Nombor(tidak ditentukan):NaN

Rentetan(undefined):'undefined'

[2]Batal

[2.1] Jenis Null hanya mempunyai satu nilai, iaitu null Dari perspektif logik, nilai null mewakili penunjuk objek nol

[2.2] Jika pembolehubah yang ditentukan akan digunakan untuk menyimpan objek, yang terbaik adalah untuk memulakan pembolehubah kepada null

[2.3] Malah, nilai tidak ditentukan diperoleh daripada nilai nol, jadi tidak ditentukan == null

[2.4] Senario kejadian: apabila objek tidak wujud

[2.5]Penukaran jenis

Boolean(null): salah

Nombor(null):0

Rentetan(null):'null'

[Nota 1] null ialah penunjuk objek null, [] ialah tatasusunan kosong, {} ialah objek kosong, ketiga-tiganya berbeza

[Nota 2]null tidak boleh menambah atribut tersuai

[3]Boolean

[3.1] Jenis Boolean hanya mempunyai dua nilai: benar dan salah

[3.2] Adegan penampilan:

                                                                     [3.2.1] Pernyataan bersyarat menyebabkan penukaran jenis pertapa

dilakukan oleh sistem

[3.2.2]Takrif literal atau berubah-ubah

[3.3]Penukaran jenis

Nombor(benar): 1 ||. Nombor(salah) : 0

Rentetan(benar):'benar' ||. Rentetan(salah):'salah'

[3.4]Boolean()

Boolean(undefined):false

Boolean(null):false

Boolean (objek bukan kosong termasuk tatasusunan kosong [] dan objek kosong {}): benar

Boolean(bukan-0): benar ||

Boolean (rentetan bukan kosong termasuk ruang):true ||

[Nota] benar tidak semestinya sama dengan 1 dan palsu tidak semestinya sama dengan 0

[4]Nombor

[4.1] Jenis Nombor menggunakan format IEEE754 untuk mewakili integer dan nilai titik terapung

[Nota] Anda boleh menggunakan nilai -0 untuk menukarnya menjadi nombor

[4.2] Tiga format literal ialah perpuluhan, perlapanan dan perenambelasan

                                                                                                                                                                                                                                            Digit pertama mestilah 0, diikuti dengan jujukan digit perlapanan (0-7 Jika nilai dalam nilai literal melebihi julat, maka 0 di hadapan akan diabaikan, dan nilai berikut Dihuraikan sebagai nombor perpuluhan).

[4.2.2] Literal oktal tidak sah dalam mod ketat dan akan menyebabkan js membuang ralat

[4.2.3] Dua digit pertama nilai literal heksadesimal mestilah 0x, diikuti dengan jujukan digit perenambelasan dan huruf boleh menjadi huruf besar atau huruf kecil

Nilai dalam nilai literal dalam sistem heksadesimal adalah dari julat.

         [4.2.5] Apabila melakukan pengiraan aritmetik, semua nilai yang dinyatakan dalam perlapanan dan perenambelasan akhirnya akan ditukar kepada nilai perpuluhan

[4.3] Perwakilan berangka:

[4.3.1] Positif 0 dan negatif 0 boleh disimpan dalam js dan dianggap sama

[4.3.2] Nilai titik terapung: Nilai mesti mengandungi titik perpuluhan dan mesti ada sekurang-kurangnya satu digit selepas titik perpuluhan.

                  [4.3.2.1] Memandangkan nilai titik terapung memerlukan dua kali ruang memori untuk menyimpan nilai integer, js akan menukar nilai titik terapung kepada nilai integer tanpa kehilangan sebarang peluang jika tiada nombor atau nilai titik terapung selepas titik perpuluhan, Ia mewakili integer, dan nilai ini akan disimpan sebagai nilai integer.

                                                          [4.3.2.2] Ketepatan tertinggi nilai titik terapung ialah 17 tempat perpuluhan

                                      [4.3.2.3] Untuk nombor yang sangat besar atau sangat kecil, mereka boleh diwakili oleh nilai titik terapung yang diwakili oleh notasi saintifik e

              [4.3.2.4] Secara lalai, js akan menukar nilai titik terapung dengan lebih daripada 6 sifar selepas titik perpuluhan kepada nilai yang dinyatakan dalam tatatanda e

[4.3.2.5] Masalah biasa dengan pengiraan titik terapung berdasarkan nilai berangka IEEE754 adalah masalah kesilapan pembulatan. Seperti: 0.1 0.2 === 0.3(15 0)4

[4.3.3] Julat berangka dalam js ialah Number.MIN_VALUE(5e-324) —— Number.MAX_VALUE(1.7976931348623157e 308)

                                                                       [4.3.3.1] Jika ia melebihi julat nombor positif, dalam sirip adalah negatif (infiniti negatif) ialah output

                                 [4.3.3.2] -Infiniti tidak boleh mengambil bahagian dalam pengiraan berangka

[4.3.3.3] number.max_value 1 = Infiniti, kerana komputer disimpan paling banyak 52 -bit digit digital, ia tidak boleh disimpan lebih daripada 1,000, dan ketepatan telah lama hilang, iaitu perpuluhan kedudukan adalah semua 0, jadi penambahan tidak berubah >

            [4.3.3.4]Nombor.MIN_VALUE - 1 != -Infiniti, sebab yang sama, jadi hasilnya ialah -1

           [4.3.3.5] Anda boleh menggunakan isFinite() untuk menentukan sama ada nilai adalah terhingga, termasuk nombor penukaran jenis tersirat()

[4.3.3.6]isFinite(NaN) //palsu

[4.3.4]NaN

             [4.3.4.1]NaN tidak sama dengan sebarang nilai, termasuk NaN itu sendiri

              [4.3.4.2] Sebarang operasi yang melibatkan NaN akan mengembalikan NaN

            [4.3.4.3] isNaN() untuk menentukan sama ada nombor itu NaN, termasuk nombor penukaran jenis tersirat ()

[4.4] Penukaran angka: Number() boleh digunakan untuk sebarang jenis, parseInt() dan parseFloat digunakan khusus untuk menukar rentetan kepada nombor

[Nota 1]Number(), parseInt(), dan parseFloat() boleh menerima nombor dalam pelbagai asas, tetapi ia tidak berkenaan dengan rentetan yang mengandungi nombor

[Nota 2] Jika nombor dalam Number(), parseInt(), parseFloat() ialah 1.2, ralat akan dilaporkan, tetapi jika rentetannya ialah '1.2.', tiada ralat akan dilaporkan

[4.4.1]Nombor()

Nombor(benar):1 ||. Nombor(salah):0

Nombor (nombor dalam pelbagai asas): Nombor perpuluhan selepas operasi, seperti 1.0 atau 1. atau 01 akan dikeluarkan sebagai 1

Nombor(tidak ditentukan):NaN

Nombor(null):0

Nombor (rentetan):

Nombor (rentetan yang mengandungi hanya nombor perpuluhan dan heksadesimal): nombor perpuluhan selepas operasi

[Nota] Kalis lapan tidak dikenali dalam rentetan dan pemprosesan nombor perpuluhan

Nombor('' dan ' '):0

Nombor (rentetan dalam kes lain): NaN

Nombor (objek):

Nombor([] dan [0] dan [-0]):0

Nombor([nombor]): Nombor selepas operasi

Nombor([1,2] dan {} dan objek lain):NaN

[4.4.2] parseInt(): Apabila menukar rentetan, ruang di hadapan rentetan diabaikan sehingga aksara bukan ruang pertama ditemui. Jika aksara pertama bukan aksara angka atau tanda negatif, parseInt() mengembalikan NaN. Jika ya, penghuraian diteruskan sehingga penghuraian selesai atau aksara bukan angka ditemui.

              [4.4.2.1] parseInt() boleh mengenal pasti integer pelbagai asas, tetapi apabila menghuraikan rentetan literal oktal, ECMAScript3 akan menghuraikan oktal, tetapi ECMAScript5 tidak mempunyai keupayaan untuk menghuraikan oktal

                       [4.4.2.2] Fungsi parseInt() menyediakan parameter kedua, menunjukkan nombor asas, seperti: parseInt('123', 16 atau 10 atau 2)

                                       [4.4.2.3] parseInt (nombor dalam pelbagai asas): nombor perpuluhan selepas operasi, seperti 1.0 atau 1. atau 01 akan dikeluarkan sebagai 1

                                                                                                                                                                                                                                                                                   Kerana parseInt() digunakan khas untuk memproses nombor penukaran rentetan, jadi parseInt (jenis lain termasuk '')//Na>N          [4.4.3] parseFloat(): Sama seperti parseInt(), ia akan mengabaikan ruang di hadapan rentetan sehingga aksara bukan ruang pertama

ditemui

                    [4.4.3.1] parseFloat() hanya boleh menghuraikan rentetan perpuluhan

                      [4.4.3.2] parseFloat (nombor dalam pelbagai asas): nombor perpuluhan selepas operasi, seperti 1.0 atau 1. atau 01 akan dikeluarkan sebagai 1

[5]String: Urutan aksara yang disertakan dengan petikan tunggal atau berganda Panjang mana-mana rentetan boleh diperoleh dengan mengakses atribut panjang

[5.1] Aksara literal, juga dipanggil urutan melarikan diri

n Pecah talian

t Penjadualan

b ruang

r Masukkan

f Kertas suapan

\ tetak

        ' Petikan tunggal

“ Petikan berganda

xnn mewakili aksara dalam heksadesimal nn (n ialah 0-f), seperti x41 mewakili 'A'

unnnn mewakili aksara Unicode dalam heksadesimal nnnn (n ialah 0-f), seperti u03a3 mewakili aksara Yunani ε

[5.2] Rentetan dalam ECMAScript tidak boleh diubah

[5.3] Penggabungan rentetan memerlukan mula-mula mencipta rentetan baharu, kemudian mengisi rentetan baharu dengan dua rentetan yang perlu disambung, dan akhirnya memusnahkan rentetan asal. Proses ini berlaku di latar belakang dan juga merupakan sebab mengapa penyambungan rentetan lambat dalam sesetengah penyemak imbas lama (IE6), tetapi masalah ketidakcekapan ini telah diselesaikan

[5.4] Penukaran rentetan

[5.4.1]kepadaString()

Null dan Undefined tidak mempunyai kaedah ini

Boolean, Object dan String mempunyai kaedah ini

Nombor Gunakan kaedah ini untuk menghantar nombor asas 2, 8, 10, 16, seperti var num = 10;num.toString(2);//1010

Tetapi 10.toString(2) akan melaporkan ralat kerana nombor tidak boleh diikuti oleh pengecam

[5.4.2]String()

Terdapat kaedah toString(), gunakan kaedah toString()

Rentetan(null);//'null'

Rentetan(undefined);//'undefined'

           [5.4.3] Untuk menukar nilai kepada rentetan, anda boleh menggunakan operator tambah untuk menambahkannya pada rentetan kosong ''

  [5.4.4] Jika nilai item dalam tatasusunan adalah batal atau tidak ditentukan, maka nilai itu akan menjadi rentetan kosong dalam hasil yang dikembalikan oleh join(), toLocaleString(), toString() dan valueOf( ) kaedah bermaksud

Akhir sekali, saya akan memberikan anda contoh mudah untuk menggambarkan perbezaan antara lima jenis asas ini

var testString = "Hello"; 
var testBoobean = true; 
var testUndefined = undefined; 
var testUndefined1; 
var testNull = null; 
var testObject = {a:1}; 
var testFunction = function(){return;}; 
 
alert(testString);//"string" 
alert(testBoobean);//"boolean" 
alert(testUndefined);//"undefined" 
alert(testUndefined1);//"undefined" 
alert(testUndefined2);//"undefined" 
alert(testNull);//"object" 
alert(testObject);//"object" 
alert(testFunction);//"function"

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