-1
Я задаюсь вопросом, почему это работаетЗаявленный функция JavaScript, Вызывающего себя
(function Test() {
alert('x');
}())
, но это не работает
function Test() {
alert('x');
}()
Как внешняя скобка изменить приоритет вещей и заставить его работать?
Любое утверждение, которое ** начинается с ** 'function', является объявлением функции *, и не может быть вызвано. Если функция появляется в выражении *, это выражение функции и может быть вызвано. Запуск инструкции с помощью paren делает ее выражением. Вы также можете выполнить функцию '! Function Test() {alert (x)}()', но это менее распространенный взлом, чем обертывание всего в parens. –
Взгляните на [определения функций] (http://www.w3schools.com/js/js_function_definition.asp) в ** Функции самозапускания ** часть – dazedconfused
P.S. Удалите тег jQuery. –