Rumah >hujung hadapan web >tutorial js >Petua Pantas: Bagaimana Rujukan JavaScript Berfungsi
Konsep Utama:
undefined
, simbol) dan lulus demi rujukan untuk jenis kompaun (objek dan tatasusunan). Pengendali null
menentukan kaedah tugasan. typeof
Pendek kata: tingkah laku rujukan JavaScript berbeza dengan ketara dari bahasa dengan petunjuk eksplisit. Hanya struktur data kompaun yang diluluskan dengan rujukan.
Artikel ini pada asalnya diterbitkan pada Sederhana.
Ringkasan mata utama:
operator
typeof
Rujukan menunjuk kepada data, bukan kepada pembolehubah atau rujukan lain. pass-by-value (primitives):
<code class="language-javascript">let batman = 7; let superman = batman; //assign-by-value superman++; console.log(batman); //7 console.log(superman); //8</code>Pass-by-reference (nilai kompaun):
<code class="language-javascript">let flash = [8, 8, 8]; let quicksilver = flash; //assign-by-reference quicksilver.push(0); console.log(flash); //[8, 8, 8, 0] console.log(quicksilver); //[8, 8, 8, 0]</code>
menugaskan semula nilai kompaun mencipta rujukan baru:
Rujukan dalam Fungsi:
<code class="language-javascript">let firestorm = [3, 6, 3]; let atom = firestorm; //assign-by-reference atom = [9, 0, 9]; //value is reassigned (creates new reference) console.log(firestorm); //[3, 6, 3] console.log(atom); //[9, 0, 9]</code>
<code class="language-javascript">let batman = 7; let superman = batman; //assign-by-value superman++; console.log(batman); //7 console.log(superman); //8</code>
Mengubah nilai kompaun asal dalam fungsi:
<code class="language-javascript">let flash = [8, 8, 8]; let quicksilver = flash; //assign-by-reference quicksilver.push(0); console.log(flash); //[8, 8, 8, 0] console.log(quicksilver); //[8, 8, 8, 0]</code>
Membuat salinan cetek:
<code class="language-javascript">let firestorm = [3, 6, 3]; let atom = firestorm; //assign-by-reference atom = [9, 0, 9]; //value is reassigned (creates new reference) console.log(firestorm); //[3, 6, 3] console.log(atom); //[9, 0, 9]</code>
Menugaskan primitif dengan rujukan (menggunakan objek):
<code class="language-javascript">let magneto = [8, 4, 8]; (function(x) { //IIFE x.push(99); x = [1, 4, 1]; //reassign variable (creates new reference) x.push(88); })(magneto); console.log(magneto); //[8, 4, 8, 99]</code>
Kesimpulan:
Memahami sistem rujukan JavaScript adalah penting untuk menulis kod yang cekap dan bebas bug.
(bahagian Soalan Lazim yang ditinggalkan untuk keringkasan, tetapi boleh ditambah semula berdasarkan keperluan.)
Atas ialah kandungan terperinci Petua Pantas: Bagaimana Rujukan JavaScript Berfungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!