首页前端开发JavaScriptjavascript 地址传递

javascript 地址传递

时间2023-10-27 20:14:03发布访客分类JavaScript浏览746
导读:JavaScript 地址传递在 JavaScript 中,变量是按值传递还是按引用传递的?这是一个常见的问题,也是一个深入的问题。不过,简短的答案是:JavaScript 变量是按值传递的。同时,JavaScript 对象是按引用传递的。...

JavaScript 地址传递

在 JavaScript 中,变量是按值传递还是按引用传递的?这是一个常见的问题,也是一个深入的问题。不过,简短的答案是:JavaScript 变量是按值传递的。同时,JavaScript 对象是按引用传递的。

按值传递是指把变量复制给函数作为参数的过程。按引用传递是指把变量的地址(引用)复制给函数作为参数。

看一个例子:

let x = 10;
function changeValue(v){
    v = 20;
}
    changeValue(x);
    console.log(x);
 // 10

输出结果为 10,说明按值传递确实是把变量复制后传递的。

再来看一个例子:

let person = {
name: "Tom"}
function changeName(p){
    p.name = "Jerry";
}
    changeName(person);
    console.log(person.name);
     // Jerry

输出结果是 Jerry,说明按引用传递确实是把变量的地址复制后传递的。这里 p 和 person 指向同一个对象。

还有一个例子:

let a = [1, 2, 3];
function changeArray(arr){
    arr.push(4);
}
    changeArray(a);
    console.log(a);
     // [1, 2, 3, 4]

输出结果是 [1, 2, 3, 4],说明按引用传递确实是把变量的地址复制后传递的。这里 arr 和 a 指向同一个数组。

总体来说,JavaScript 还是按值传递的,只有在处理对象和数组时才会出现按引用传递的情况。

参考链接:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Functions

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: javascript 地址传递
本文地址: https://pptw.com/jishu/513532.html
javascript 地图 api javascript 圆角

游客 回复需填写必要信息