Я читаю исходный код KnockoutJS.
Я столкнулся с следующей строкой, которую я не уверен, что понимаю...
ko.utils = new (function () {
Как правило, структура, по-видимому, идет по строкам:
ko.utils = new (function () {
// some variables declared with var
return {
export:value,
export:value
};
})();
Я не понимаю эту конструкцию, почему нужен new
? Что оно делает? Для чего это полезно?
(Я думал, что если функция вызывается с new
перед ее именем, она вызывается как конструктор, и если она возвращает объект, то она идентична invokation без new
.)
ОБНОВЛЕНИЕ: Я спросил команду KnockoutJS о github, и это то, что я получил:
Я предполагаю, что Стив просто не знал, что это не нужно. Оглядываясь назад на его первоначальную фиксацию, я вижу много ненужных новостей, которые с тех пор были удалены.