Я читаю исходный код KnockoutJS."new" Перед анонимной функцией Invocation Возвращаемый объект
я побежал в следующую линию, я не уверен, я понимаю ...
ko.utils = new (function() {
Как правило, структура, кажется, вдоль линий:
ko.utils = new (function() {
// some variables declared with var
return {
export:value,
export:value
};
})();
Я не» t понять эту конструкцию, зачем нужен new
? Что оно делает? Для чего это полезно?
(я думал, что если функция вызывается с new
перед его именем он вызывается как конструктор, и если он возвращает объект, он идентичен invokation без new
.)
UPDATE: Я спросил команда KnockoutJS на github, и это то, что я получил:
Я предполагаю, что Стив просто не знал, что это не нужно. Оглядываясь назад на его первоначальную фиксацию, я вижу много ненужных новостей, которые с тех пор были удалены.
Насколько я могу судить, 'new' не имеет никакого эффекта в этом случае –
по теме: [Правильно ли думать о функции выражения Javascript, который использует«новый»ключевое слово, как«статические»] (http://stackoverflow.com/questions/10406552/is-it-right-to-think-of-a-javascript-function-expression-that-uses-the-new-key) – Bergi
Просто случилось встретить оба их ... – Bergi