Нещодавно я порівнював поточну версію json2.js з версією, яку я мав у своєму проекті, і помітив різницю в тому, як було створено і самовиконано вираз функції.
Код, який використовується для загортання анонімної функції в дужки, а потім її виконання,
(function () {
// code here
})();
але тепер він обгортає автоматично виконану функцію в дужках.
(function () {
// code here
}());
Є коментар від CMS до прийнятої відповіді в поясненому синтаксисом анонімної функції JavaScript, поясненого JavaScript, що "і те: (function(){})();
і (function(){}());
є дійсним".
Мені було цікаво, в чому різниця? Чи займає перший пам'ять, залишаючи навколо себе глобальну, анонімну функцію? Де повинні бути розміщені дужки?