Rumah > hujung hadapan web > tutorial js > Adakah JavaScript Lulus Pembolehubah mengikut Rujukan atau Mengikut Nilai?

Adakah JavaScript Lulus Pembolehubah mengikut Rujukan atau Mengikut Nilai?

Barbara Streisand
Lepaskan: 2024-12-13 15:12:12
asal
699 orang telah melayarinya

Does JavaScript Pass Variables by Reference or by Value?

Meluluskan Pembolehubah melalui Rujukan dalam JavaScript

Apabila melakukan berbilang operasi pada pembolehubah dalam satu gelung, memahami cara JavaScript mengendalikan penghantaran pembolehubah adalah penting. JavaScript, tidak seperti kebanyakan bahasa pengaturcaraan lain, tidak menyokong lulus melalui rujukan. Walau bagaimanapun, merujuk objek membenarkan pengubahsuaian kandungannya dalam fungsi.

function alterObject(obj) {
  obj.foo = "goodbye";
}

var myObj = { foo: "hello world" };

alterObject(myObj);

alert(myObj.foo); // "goodbye"
Salin selepas log masuk

Menyalurkan pada tatasusunan juga boleh dilakukan, membenarkan pengubahsuaian setiap sel.

var arr = [1, 2, 3];

for (var i = 0; i < arr.length; i++) {
  arr[i] = arr[i] + 1;
}
Salin selepas log masuk

Perlu diperhatikan bahawa rujukan lulus benar melibatkan keupayaan untuk mengubah suai nilai dalam konteks panggilan, yang JavaScript tidak sokongan.

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 , yang membenarkan rujukan pas-demi-benar, JavaScript hanya menyokong menghantar rujukan kepada objek. Pengubahsuaian kandungan objek dalam fungsi adalah mungkin, tetapi rujukan itu sendiri tidak boleh diubah suai.

Atas ialah kandungan terperinci Adakah JavaScript Lulus Pembolehubah mengikut Rujukan atau Mengikut Nilai?. 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