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函数编辑了答案,该函数可对全局用户变量进行变异。举个例子