Melalui pembolehubah melalui rujukan membolehkan fungsi mengubah suai pembolehubah asal dalam konteks panggilan. Walaupun JavaScript tidak mempunyai rujukan lulus yang benar, ia menyediakan cara untuk mencapai kefungsian yang serupa.
Untuk mengubah suai kandungan objek, hantarkannya mengikut nilai kepada fungsi. JavaScript membenarkan mengubah suai sifat objek, seperti yang dilihat dalam contoh di bawah:
function alterObject(obj) { obj.foo = "goodbye"; } var myObj = { foo: "hello world" }; alterObject(myObj); alert(myObj.foo); // "goodbye"
Lelaran melalui sifat tatasusunan dengan indeks berangka untuk mengubah suai sel individu:
var arr = [1, 2, 3]; for (var i = 0; i < arr.length; i++) { arr[i] = arr[i] + 1; }
Perhatikan bahawa benar rujukan lewat (mengubah suai pembolehubah mudah dalam konteks panggilan) tidak mungkin dalam JavaScript. Contoh berikut menggambarkan konsep ini:
function swap(a, b) { var tmp = a; a = b; b = tmp; } var x = 1, y = 2; swap(x, y); alert("x is " + x + ", y is " + y); // "x is 1, y is 2"
Tidak seperti C , JavaScript tidak menyokong rujukan pas-demi yang benar, di mana fungsi boleh mengubah suai pembolehubah mudah dalam konteks panggilan. Sebaliknya, JavaScript hanya membenarkan menghantar rujukan kepada objek yang boleh diubah suai, yang mengubah suai kandungannya tetapi bukan rujukannya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mensimulasikan Rujukan Laluan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!