Jenis data JavaScript dibahagikan kepada jenis primitif dan jenis rujukan. Jenis primitif termasuk rentetan, nombor, boolean, null, undefined, dan simbol. Nilai -nilai itu tidak berubah dan salinan salinan apabila ditugaskan, jadi mereka tidak mempengaruhi satu sama lain; Jenis rujukan seperti objek, tatasusunan dan fungsi menyimpan alamat memori, dan pembolehubah menunjuk objek yang sama akan mempengaruhi satu sama lain. Typeof dan Instanceof boleh digunakan untuk menentukan jenis, tetapi memberi perhatian kepada masalah sejarah Null Typeof. Memahami kedua -dua jenis perbezaan ini dapat membantu menulis kod yang lebih stabil dan boleh dipercayai.
Jenis data JavaScript dibahagikan kepada dua kategori: primitif dan rujukan. Memahami perbezaan di antara mereka adalah penting untuk menulis kod yang lebih stabil dan boleh diramal.

Jenis primitif adalah nilai yang tidak berubah
Terdapat enam jenis data primitif dalam JavaScript: string
, number
, boolean
, null
, undefined
, dan symbol
(baru dalam ES6). Jenis nilai ini tidak berubah, yang bermaksud bahawa anda tidak boleh mengubah nilai asal itu sendiri, anda hanya boleh menggantikannya dengan nilai baru.
Contohnya:

biarkan nama = "tom"; name.toUpperCase (); // mengembalikan "tom", tetapi nama itu sendiri masih "tom"
Ini bermakna operasi jenis asal tidak akan mengubah nilai asal, tetapi akan mengembalikan nilai baru. Apabila anda memberikan jenis primitif kepada pemboleh ubah lain, anda sebenarnya menyalin salinan nilai ini:
biarkan a = 10; biarkan b = a; b = 20; Console.log (A); // masih 10
Oleh itu, tugasan dan operasi jenis asal adalah bebas dan tidak menjejaskan satu sama lain.

Jenis rujukan menunjuk ke alamat memori
Jenis rujukan terutamanya termasuk objek (objek), tatasusunan (array) dan fungsi (fungsi). Mereka menyimpan "rujukan" ke lokasi dalam ingatan, bukan data sebenar itu sendiri.
Lihat contoh:
biarkan obj1 = {name: "Alice"}; biarkan obj2 = obj1; obj2.name = "bob"; console.log (obj1.name); // output bob
Di sini obj2
tidak menyalin kandungan obj1
, tetapi menunjuk ke alamat memori yang sama. Oleh itu, mengubahsuai atribut obj2
juga akan menjejaskan obj1
.
Keadaan yang sama juga akan berlaku apabila fungsi melewati argumen:
fungsi changename (pengguna) { user.name = "berubah"; } Let Person = {name: "Original"}; changename (orang); console.log (person.name); // output berubah
Kerana apa yang diluluskan adalah rujukan kepada objek, pengubahsuaian ke objek di dalam fungsi akan mempengaruhi luar.
Petua untuk menilai jenis
Untuk menentukan sama ada pemboleh ubah adalah jenis primitif atau jenis rujukan, anda boleh menggunakan typeof
dan instanceof
:
-
typeof
mengiktiraf jenis yang paling primitif (kecualinull
akan mengembalikan"object"
) -
instanceof
digunakan untuk menentukan pembina jenis rujukan tertentu
Contohnya:
Typeof 42; // "Nombor" Typeof "Hello"; // "String" jenis benar; // "Boolean" typeof null; // "objek" (ini adalah isu sejarah dengan JS) typeof {}; // "objek" fungsi jenis () {}; // "fungsi" (jenis rujukan khas)
Sekiranya anda ingin menilai dengan tepat null
, anda boleh menggunakan === null
untuk mengendalikannya secara berasingan.
Pada dasarnya itu sahaja. Memahami perbezaan antara jenis primitif dan jenis rujukan dapat membantu anda mengelakkan banyak masalah yang tidak dijangka, terutama ketika berurusan dengan struktur kompleks atau parameter fungsi lulus.
Atas ialah kandungan terperinci Jenis Data JavaScript: Rujukan primitif vs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Untuk mengendalikan transaksi JDBC dengan betul, anda mesti terlebih dahulu mematikan mod komit automatik, kemudian melakukan pelbagai operasi, dan akhirnya melakukan atau mengembalikan semula hasilnya; 1. Panggil Conn.SetAutOcommit (palsu) untuk memulakan transaksi; 2. Melaksanakan pelbagai operasi SQL, seperti memasukkan dan mengemaskini; 3. Panggil Conn.Commit () jika semua operasi berjaya, dan hubungi conn.rollback () jika pengecualian berlaku untuk memastikan konsistensi data; Pada masa yang sama, cuba-dengan-sumber harus digunakan untuk menguruskan sumber, mengendalikan pengecualian dengan betul dan menutup sambungan untuk mengelakkan kebocoran sambungan; Di samping itu, adalah disyorkan untuk menggunakan kolam sambungan dan menetapkan mata simpan untuk mencapai rollback separa, dan menyimpan urus niaga sesingkat mungkin untuk meningkatkan prestasi.

Pra-formancetartuptimemoryusage, quarkusandmicronautleadduetocompile-timeprocessingandgraalvsupport, withquarkusoftenperforminglightbetterine serverless scenarios.tyvelopecosyste,

HTTP Log Middleware di GO boleh merakam kaedah permintaan, laluan, IP klien dan memakan masa. 1. Gunakan http.handlerfunc untuk membungkus pemproses, 2. Rekod waktu mula dan masa akhir sebelum dan selepas memanggil next.servehttp, 3. Dapatkan IP pelanggan sebenar melalui r.remoteaddr dan X-forward-for headers, 4. Gunakan log.printf untuk mengeluarkan log permintaan, 5. Kod sampel lengkap telah disahkan untuk dijalankan dan sesuai untuk memulakan projek kecil dan sederhana. Cadangan lanjutan termasuk menangkap kod status, menyokong log JSON dan meminta penjejakan ID.

Koleksi Sampah Java (GC) adalah mekanisme yang secara automatik menguruskan ingatan, yang mengurangkan risiko kebocoran ingatan dengan menuntut semula objek yang tidak dapat dicapai. 1.GC menghakimi kebolehcapaian objek dari objek akar (seperti pembolehubah stack, benang aktif, medan statik, dan lain -lain), dan objek yang tidak dapat dicapai ditandakan sebagai sampah. 2. Berdasarkan algoritma penandaan tanda, tandakan semua objek yang dapat dicapai dan objek yang tidak ditandai. 3. Mengamalkan strategi pengumpulan generasi: Generasi Baru (Eden, S0, S1) sering melaksanakan MinorGC; Orang tua melakukan kurang tetapi mengambil masa lebih lama untuk melakukan MajorGC; Metaspace Stores Metadata kelas. 4. JVM menyediakan pelbagai peranti GC: SerialGC sesuai untuk aplikasi kecil; ParallelGC meningkatkan throughput; CMS mengurangkan

Memilih jenis htmlinput yang betul dapat meningkatkan ketepatan data, meningkatkan pengalaman pengguna, dan meningkatkan kebolehgunaan. 1. Pilih jenis input yang sepadan mengikut jenis data, seperti teks, e -mel, tel, nombor dan tarikh, yang secara automatik boleh menyemak dan menyesuaikan diri dengan papan kekunci; 2. Gunakan HTML5 untuk menambah jenis baru seperti URL, Warna, Julat dan Carian, yang dapat memberikan kaedah interaksi yang lebih intuitif; 3. Gunakan pemegang tempat dan sifat -sifat yang diperlukan untuk meningkatkan kecekapan dan ketepatan pengisian bentuk, tetapi harus diperhatikan bahawa pemegang tempat tidak dapat menggantikan label.

GradleisthebetterChoiceFormostNewProjectSduetoitSsuperiorflexibility, Prestasi, danModernToolingSupport.1.Gradle'sGroovy/KOT lindslismoreconciseandexpressivethanmaven'sverbosexml.2.GradleOutPerformsMaveninBuildSpeedWithIncrementalcompilation, BuildCac

Untuk menjadi tuan YII, anda perlu menguasai kemahiran berikut: 1) Memahami seni bina MVC YII, 2) mahir dalam menggunakan ActiveReCordorm, 3) dengan berkesan menggunakan alat penjanaan kod GII, 4) menguasai peraturan pengesahan YII, 5) mengoptimumkan prestasi pertanyaan pangkalan data, 6) secara berterusan memberi perhatian kepada sumber -sumber YII. Melalui pembelajaran dan amalan kemahiran ini, keupayaan pembangunan di bawah kerangka YII dapat diperbaiki secara komprehensif.

Defer digunakan untuk melaksanakan operasi tertentu sebelum fungsi pulangan, seperti sumber pembersihan; Parameter dinilai dengan serta-merta apabila menangguhkan, dan fungsi-fungsi dilaksanakan mengikut urutan terakhir (LIFO); 1. Pelbagai penahanan dilaksanakan dalam urutan terbalik pengisytiharan; 2. Biasanya digunakan untuk pembersihan yang selamat seperti penutupan fail; 3. Nilai pulangan yang dinamakan boleh diubah suai; 4. Ia akan dilaksanakan walaupun panik berlaku, sesuai untuk pemulihan; 5. Elakkan penyalahgunaan menangguhkan gelung untuk mengelakkan kebocoran sumber; Penggunaan yang betul boleh meningkatkan keselamatan kod dan kebolehbacaan.
