Если вы используете прототип при объявлении пространства имен в JavaScript - PullRequest
0 голосов
/ 10 ноября 2010

Мне просто интересно, каков «лучший» способ сделать пространство имен в javascript. Я знаю, что об этом спрашивали миллион раз, но я видел много методов, включая простое объявление объекта как пространства имен, содержащего его соответствующие переменные и методы. Является ли это предпочтительным способом или лучше использовать конструкцию прототипа, как в:

function Namespace() {

}

Namespace.prototype.newMethod = function() {

};

//...

// now to use this:
var namespace = new Namespace();
namespace.newMethod();

Я также хотел бы знать , почему один метод предпочтительнее другого.

1 Ответ

1 голос
/ 10 ноября 2010

Вы обычно используете метод-прототип только тогда, когда будете создавать экземпляры Namespace "класса". Если методы предназначены для того, чтобы быть статичными (как определено в других языках ОО), тогда просто создайте объект и прикрепите к нему функции.

Другими словами, с вашим кодом вы не сможете позвонить Namespace.newMethod(). Но вы могли бы сделать (new Namespace()).newMethod(). Каждый подход предназначен для решения другой проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...