JAVASCRIPT - 为什么这个对象没有改变?

Dar*_*htA 2 javascript object

function myFunc(theObject) {  
  theObject = {make: "Ford", model: "Focus", year: 2006};  
}  
var mycar = {make: "Honda", model: "Accord", year: 1998};  
var x = mycar.make;     // returns Honda  
myFunc(mycar);  
var y = mycar.make;     // still returns Honda  
Run Code Online (Sandbox Code Playgroud)

为什么myFunc不改变mycar对象?

cas*_*nca 9

theObject = { ... }内部执行时myFunc,您将创建一个新对象并将其引用分配给局部变量theObject.这不会更改原始对象.

要修改原始对象的内容,需要直接修改其属性,如下所示:

theObject.make = 'Ford';
theObject.model = 'Focus';
theObject.year = 2006;
Run Code Online (Sandbox Code Playgroud)