Там какие-либо соображения должны определить, который является лучшей практикой для создания объекта с членами парламента, не занимающими официального поста?
var object = new function () {
var private = "private variable";
return {
method : function () {
..dosomething with private;
}
}
}
VS
var object = function () {
...
}();
В основном, каково различие между использованием НОВОГО здесь и просто вызовом функции сразу после того, как мы определим его?
Оператор new
вызывает вызов функции как функции-конструктора .
Я видел этот паттерн раньше, но не вижу никаких преимуществ от его использования.
Назначением оператора new
является создание объекта (значение this
внутри конструктора), установка правильного [[Prototype]]
внутреннего свойство, чтобы построить цепочку прототипов и реализовать наследование (подробности можно увидеть в операции [[Construct]]
).
Я бы порекомендовал вам использовать шаблон встроенного вызова .
Если вы используете функции в качестве обработчиков событий, вы могут возникнуть утечки памяти. Взгляните на некоторые из статей