Javascript 将对象作为函数的参数传递时出现问题

Javascript 将对象作为函数的参数传递时出现问题,javascript,object,Javascript,Object,我对一个期望对象作为参数的函数有问题。 显然,它只在函数内部分配属性,因为在函数外部它没有属性 const makeUser = (name, age) => { return { name, age, }; }; let user; const newUser = obj => { name = "userTester"; age = 19; obj = makeUser(name, age); console.lo

我对一个期望对象作为参数的函数有问题。 显然,它只在函数内部分配属性,因为在函数外部它没有属性

const makeUser = (name, age) => {
  return {
    name,
    age,
  };
};

let user;

const newUser = obj => {
  name = "userTester";
  age = 19;

  obj = makeUser(name, age);
  console.log(obj);
};

newUser(user);
console.log(user)
console.log(`El nombre del usuario es ${user.name} y tiene ${user.age} años.`);

我不知道你想做什么,但也许是那样的?哈哈

const makeUser=(姓名、年龄)=>{
返回{
名称
年龄,
};
};
const newUser=obj=>{
name=“userTester”;
年龄=19岁;
obj=makeUser(姓名、年龄);
控制台日志(obj);
返回obj;
};
让user=newUser();
const modifyUser=()=>{
user.name=“José”;
用户年龄=35岁;
}
console.log(用户);
log(`elnombre del usuario es${user.name}y tiene${user.age}años.`);
modifyUser();

log(`elnombre del usuario es${user.name}y tiene${user.age}años.`)
当您将变量
user
传递给
newUser()
时,您没有为变量
user
分配任何内容。当到达obj=makeUser(name,age)行时,会分配该变量。我在练习Javascript,我想看看您是否可以使用函数修改对象,但显然您无法XD。也谢谢你的帮助answer@DanielReyes,当然可以,只是不要将值作为参数传递。然后,函数中的值将是原始值的副本。之后,您应该返回值,以便在函数外部使用它。但是,如果只在函数内部重新分配全局变量而不将其作为参数传递,则可以对全局变量进行变异。@DanielReyes当然可以,我已使用modifyUser函数编辑了答案,该函数可对全局用户变量进行变异。举个例子