首页前端开发JavaScriptjavascript 地址变量

javascript 地址变量

时间2023-10-27 20:42:03发布访客分类JavaScript浏览584
导读:JavaScript 地址变量是指存储了内存地址的变量,在 JavaScript 中,对象和数组都是引用类型,这种类型被称为对象型变量或地址型变量。这意味着当我们将一个对象作为参数传递给一个函数时,函数将修改该对象的值,并且这种改变是在原始...

JavaScript 地址变量是指存储了内存地址的变量,在 JavaScript 中,对象和数组都是引用类型,这种类型被称为对象型变量或地址型变量。这意味着当我们将一个对象作为参数传递给一个函数时,函数将修改该对象的值,并且这种改变是在原始对象上实现的。

举个例子,我们通过以下代码来演示 JavaScript 中的地址型变量:

let obj1 = {
name: "Alice", age: 20}
    ;
    let obj2 = obj1;
    obj2.name = "Bob";
    console.log(obj1.name);
     // "Bob"console.log(obj2.name);
     // "Bob"

在这个例子中,我们首先定义了一个名为 obj1 的对象,并将其赋值为含有 name 和 age 属性的对象字面量。接下来,我们将 obj1 赋值给 obj2 变量。这并没有创建一个新的对象,而是将 obj2 对象中的内存地址指向 obj1。因此,当我们更新 obj2 的 name 属性时,实际上是在 obj1 中更新了这个属性,因为它们都使用相同的内存地址。

接下来还是给大家看几个例子:

let arr1 = [1, 2, 3];
    let arr2 = arr1;
    arr2.push(4);
    console.log(arr1);
     // [1, 2, 3, 4]console.log(arr2);
 // [1, 2, 3, 4]

在这个例子中,我们定义了一个名为 arr1 的数组,并将其初始化为 [1, 2, 3]。然后,我们将 arr1 赋值给 arr2 变量。接着,我们在 arr2 中添加一个值 4。最后,我们输出 arr1 和 arr2 数组,输出结果表明了它们都被更新了。

function updatePerson(person) {
    person.name = "Bob";
}
let person1 = {
name: "Alice"}
    ;
    updatePerson(person1);
    console.log(person1.name);
     // "Bob"

在这个例子中,我们定义了一个名为 updatePerson 的函数,它接收一个 person 参数,并将它的 name 属性值更改为 "Bob"。接下来,我们定义了一个名为 person1 的对象,并初始化其 name 属性为 "Alice"。最后,我们传递 person1 对象作为参数调用 updatePerson 函数,因此 person1 的值将被更改为 "Bob"。

以上就是 JavaScript 中地址变量的一些例子,需要注意的是,在这些例子中,obj2、arr2、person 参数都指向了原始对象或数组。

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


若转载请注明出处: javascript 地址变量
本文地址: https://pptw.com/jishu/513560.html
javascript 图片上下滚动 javascript 地无法调用cab

游客 回复需填写必要信息