在函数的帮助下(动态地)在事件触发器上创建对象的实例
Create an instance of an object with the help of function (dynamically), on event triggers
我想创建一个包含姓名、年龄等的用户对象实例。道具。我只是给了一个由用户填写的表格,并且我想动态创建他的对象实例(使用那个人自己的名字,即用户)。为此,我使用了如下所示的功能,但我遇到了这个错误。预先感谢您的帮助
class MainUser{
constructor(name,age){
this.name=name;
this.age=age;
}
}
function createUser(user, name, age){
let user = new MainUser(name, age);
}
我遇到了这个错误
未捕获的语法错误:标识符 'user' 已被声明
您将变量 user
作为 createUser
的 function-definition 中的参数,而对于 let user
您正试图 re-declare parameter/variable。根据您要实现的目标,您有三种选择。
- 重命名函数的
user
-参数
- 在函数内为您的对象重命名
user
变量
- 删除
let
以使用函数的参数
class User {
constructor(name, age){
this.name=name;
this.age=age;
}
}
let user = null;
function createUser(name, age){
user = new User(name, age);
}
createUser('Alice', 32);
console.log(user);
您可以使用的另一种方法:
class User {
constructor(name, age){
this.name=name;
this.age=age;
}
}
function createUser(name, age){
let userObject = new User(name, age);
return userObject;
}
let user = createUser('Bob', 31);
console.log(user);
要在当前范围内创建具有动态名称的变量,您可以使用以下方法:
class User {
constructor(name, age){
this.name=name;
this.age=age;
}
}
function createUser(user, name, age){
this[user] = new User(name, age);
console.log(this[user]);
console.log(test_user);
}
createUser('test_user', 'Charly', 42);
我想创建一个包含姓名、年龄等的用户对象实例。道具。我只是给了一个由用户填写的表格,并且我想动态创建他的对象实例(使用那个人自己的名字,即用户)。为此,我使用了如下所示的功能,但我遇到了这个错误。预先感谢您的帮助
class MainUser{
constructor(name,age){
this.name=name;
this.age=age;
}
}
function createUser(user, name, age){
let user = new MainUser(name, age);
}
我遇到了这个错误 未捕获的语法错误:标识符 'user' 已被声明
您将变量 user
作为 createUser
的 function-definition 中的参数,而对于 let user
您正试图 re-declare parameter/variable。根据您要实现的目标,您有三种选择。
- 重命名函数的
user
-参数 - 在函数内为您的对象重命名
user
变量 - 删除
let
以使用函数的参数
class User {
constructor(name, age){
this.name=name;
this.age=age;
}
}
let user = null;
function createUser(name, age){
user = new User(name, age);
}
createUser('Alice', 32);
console.log(user);
您可以使用的另一种方法:
class User {
constructor(name, age){
this.name=name;
this.age=age;
}
}
function createUser(name, age){
let userObject = new User(name, age);
return userObject;
}
let user = createUser('Bob', 31);
console.log(user);
要在当前范围内创建具有动态名称的变量,您可以使用以下方法:
class User {
constructor(name, age){
this.name=name;
this.age=age;
}
}
function createUser(user, name, age){
this[user] = new User(name, age);
console.log(this[user]);
console.log(test_user);
}
createUser('test_user', 'Charly', 42);