Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mensimulasikan Rujukan Laluan dalam JavaScript?

Bagaimanakah Saya Boleh Mensimulasikan Rujukan Laluan dalam JavaScript?

Mary-Kate Olsen
Lepaskan: 2025-01-01 02:36:11
asal
418 orang telah melayarinya

How Can I Simulate Pass-by-Reference in JavaScript?

Cara Melepasi Pembolehubah melalui Rujukan dalam JavaScript

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.

Melalui Objek

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"
Salin selepas log masuk

Mengubah Suai Tatasusunan

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;
}
Salin selepas log masuk

Mencuba Rujukan Laluan Sebenar (Tidak Mungkin)

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"
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan