JavaScript - 更改调用的参数后更新类中实例的值

标签 javascript oop

我对 JS 和 OOPS 完全陌生(而且也不确定标题)。

在下面的代码片段中,包含 Car 类及其实例。我想问是否有一种方法可以在更改类参数之一后更新实例。例如,我希望更改参数后的预期输出为更新值,即 NewEagl。 下面的代码两次都返回 ("Eagle")。

function Car(make, model, year) {
  this.make = make;
  this.model = model;
  this.year = year;
}

var mak = 'Eagle'
const car1 = new Car(mak, 'Talon TSi', 1993);

console.log(car1.make);
// output: "Eagle"
function changemak() {
    mak = 'NewEagl';
}

changemak();
console.log(car1.make);
// Expected output: "NewEagl"

最佳答案

当您将变量分配给属性时,它只是复制值,不会在变量和属性之间建立永久链接。因此,更改 mak 不会更改 car1.make

changemak需要将Car作为参数,并设置其属性。

function changemak(car) {
    car.make = 'NewEagl';
}
changemak(car1);

关于JavaScript - 更改调用的参数后更新类中实例的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61109586/

相关文章:

javascript - 多个 div 淡入/淡出滚动效果不起作用

javascript - 当 div 标签溢出时添加类

javascript - 从服务器响应下载文件,url 为 .json 文件

oop - 猴子补丁还是不猴子?

c++ - 在类方法中使用 new 运算符动态分配内存的生命周期和范围是多少?

r - 内存中没有变量名的数据仍然是 R 中的对象吗?

javascript - 有没有办法为空数据表定义自定义 html?

javascript - react : Insert One Component After Another

oop - 后期绑定(bind)与多态性 - 有什么区别?

java - 继承和多态之间的主要区别是什么?