在 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中文网其他相关文章!