在JavaScript 中透過引用傳遞變數
在迴圈內對變數執行多個操作時,了解JavaScript 如何處理變數傳遞至關重要。 JavaScript 與許多其他程式語言不同,不支援按引用傳遞。但是,引用物件允許在函數內修改其內容。
function alterObject(obj) { obj.foo = "goodbye"; } var myObj = { foo: "hello world" }; alterObject(myObj); alert(myObj.foo); // "goodbye"
也可以迭代數組,從而允許修改每個單元格。
var arr = [1, 2, 3]; for (var i = 0; i < arr.length; i++) { arr[i] = arr[i] + 1; }
值得注意真正的引用傳遞涉及修改呼叫上下文中的值的能力,而 JavaScript 不具備這種能力支援。
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"
與允許真正的引用傳遞的 C 不同,JavaScript 只支援傳遞物件的參考。可以在函數內修改物件內容,但不能修改引用本身。
以上是JavaScript 是透過引用還是透過值傳遞變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!