Я недавно сравнивал текущую версию json2.js с версией, которую я имел в своем проекте, и заметил разницу в том, как было создано выражение функции и выполнено само.Расположение скобок для автоматического выполнения функций анонимного JavaScript?
Код, используемый, чтобы обернуть анонимную функцию в скобках, а затем выполнить его,
(function() {
// code here
})();
, но теперь она оборачивает автовыполняемые функции в круглых скобках.
(function() {
// code here
}());
Существует комментарий КМВ в принятом ответе Explain JavaScript’s encapsulated anonymous function syntax, что «как:. (function(){})();
(function(){}());
и справедливы»
мне было интересно, в чем разница? Сохраняет ли первая память, обходя глобальную анонимную функцию? Где должна располагаться скобка?
См. Также [Разница между (function() {})(); и function() {}();] (http://stackoverflow.com/q/423228/1048572) и [Есть ли разница между (function() {...}()); и (function() {...})();?] (http://stackoverflow.com/q/3783007/1048572) – Bergi
Связанный: [Синтаксис вызова немедленной функции] (http://stackoverflow.com/q/939386/1048572) (в JSLint) – Bergi
Также читайте о [цели этой конструкции] (http://stackoverflow.com/q/592396/1048572) или проверьте ([технический] (http://stackoverflow.com/) q/4212149/1048572)) [пояснения] (http://stackoverflow.com/q/8228281/1048572) (также [здесь] (http://stackoverflow.com/a/441498/1048572)). Для чего нужны скобки, см. [Этот вопрос] (http://stackoverflow.com/q/1634268/1048572). – Bergi