Melalui Pembolehubah melalui Rujukan dalam JavaScript
JavaScript tidak mempunyai konsep "laluan rujukan" yang terdapat dalam bahasa pengaturcaraan lain. Walau bagaimanapun, ia membenarkan menghantar objek mengikut nilai, membenarkan fungsi mengubah suai kandungannya.
Melalui Objek mengikut Nilai
Untuk mengubah suai kandungan objek dalam fungsi, lulus objek sendiri sebagai parameter:
function alterObject(obj) { obj.foo = "goodbye"; } var myObj = { foo: "hello world" }; alterObject(myObj); console.log(myObj.foo); // "goodbye"
Mengubah suai Tatasusunan
Untuk mengubah suai elemen tatasusunan, ulangi indeks berangkanya dan kemas kini setiap sel secara individu:
var arr = [1, 2, 3]; for (var i = 0; i < arr.length; i++) arr[i] = arr[i] + 1;
"Pass by Rujukan" dalam JavaScript
JavaScript tidak mempunyai kefungsian "pass by reference" sebenar. Ini bermakna adalah mustahil untuk mengubah suai nilai pembolehubah asal dalam panggilan fungsi, tidak seperti dalam bahasa seperti C .
Dalam contoh di bawah, menukar nilai x dan y gagal kerana nilai tersebut diluluskan dan tidak boleh diubah suai terus dalam fungsi:
function swap(a, b) { var tmp = a; a = b; b = tmp; } var x = 1, y = 2; swap(x, y); console.log("x is " + x + ", y is " + y); // "x is 1, y is 2"
Kesimpulan
Semasa JavaScript tidak menawarkan "laluan rujukan" dalam erti kata tradisional, menghantar objek dan memanipulasi kandungannya membolehkan kefungsian yang serupa. Ambil perhatian bahawa teknik ini mengubah suai kandungan objek, bukan rujukan objek itu sendiri.
Atas ialah kandungan terperinci Bagaimanakah JavaScript Mengendalikan Hantaran Pembolehubah dan Pengubahsuaian Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!