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"
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; }
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"
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!