如何在课堂上找到对象?
这是我的独立JavaScript组件:
function User(first, last){
if (this instanceof User){
this.name = first + " " + last;
//Is there a way here to find either User objects here? (John or Jane)
//How would I changed to the desired User object and start working with it?
}
else return new User(first, last);
}
在客户端代码中,我有以下内容:
User("John", "Smith");
User("Jane", "Doe");
答案 0 :(得分:2)
通常你会创建一个单独的类UserManager
。这个类是访问用户的唯一方法。其他类会调用userManager.createUser(name)
来创建新用户,或userManager.findUser(name)
来获取现有用户。理想情况下,User类对于管理器来说是本地的,因此没有其他类可以直接创建实例。每当UserManager在new User
方法中创建createUser
时,它会在返回之前将该用户添加到内部userList
。然后findUser
会搜索userList
。
或者,您可以将创建的用户数组作为静态变量添加到User
类。静态变量是一个变量,它被赋给类本身,而不是它的各个实例。使用语法Classname.variable
创建和访问静态变量,因此在您的情况下User.ALL_USERS
。