На мой взгляд, лучший способ создать классы в JavaScript - это "не делать". Простите за грубость, но при работе с JavaScript постарайтесь забыть о классах - их здесь нет - и примите, что язык работает только с объектами.
Отсутствие уроков по языку означает меньше кода для написания. В типичных приложениях большинство объектов не имеют братьев и сестер. У вас будет только один document
, один window
, один userList
и т. Д. Создайте эти объекты с помощью буквальной нотации объекта:
var userList = {
users: []
};
Хотя в JavaScript нет классов, есть конструкторы и прототипы . Эти концепции пригодятся, когда у вас есть несколько похожих объектов (например, пользователи, содержащиеся в userlist
). В вашем примере кода используются обе эти концепции. Используя такие имена, как myclass
, трудно сказать, что вы пытаетесь смоделировать. Вот пример конструктора User
и расширение его прототипа:
var User = function (name) {
this.name = name;
};
User.prototype.sayHello = function () {
return "Hello, my name is " + this.name;
};