Если вам не нужно отображать функцию вызова, пусть эта функция будет выполнена, когда вы можете ее написать?
1. Предисловие
Сначала необходимо определить функцию, а затем использовать. Это в основном закон всего железа всех языков программирования.
В целом, нам нужно вызвать функцию JavaScript. Посмотрите на пример
Код заключается в следующем:
Код кода копирования следующим образом:
<!
<html>
<голова>
<meta http-equiv = "content-type" content = "text/html; charset = utf-8">
<Название> Скажи привет </title>
</head>
<тело>
<Скрипт>
// определить функцию
Функция sayHello ()
{{
Оповещение ("Привет");
}
// функция вызова
SayHello ();
</script>
</body>
</html>
Но если вам не нужно отображать функцию вызова, как эта функция может выполняться при определении?
2. Мыслительный курс
Судя по приведенным выше примерам, умный вы можете придумать статус вышеуказанного использования:
===》 Поскольку время добавить пару больших кронштейнов за название функции, чтобы добавить пару больших кронштейнов? Как следующее:
Код заключается в следующем:
Код кода копирования следующим образом:
Функция sayHello ()
{{
Оповещение ("Привет");
} ();
К сожалению, вышеупомянутое письмо сообщит о синтаксических ошибках JS.
Поскольку анализаторы JavaScript, когда анализатор анализирует глобальную функцию или ключевые слова внутренней функции функции, он по умолчанию будет анализировать большие кронштейны с оператором функции, а не выражение функции.
Другими словами, окончательная пара больших кронштейнов будет проанализирована по умолчанию в функцию, в которой отсутствует имена, а сообщение об ошибке синтаксиса выбрасывается из -за того, что оператор функции требует имени.
=== «Вы можете подумать об этом снова, будет ли это проанализировать в выражение, если я передам параметры в скобках?
Код заключается в следующем:
Код кода копирования следующим образом:
Функция sayHello ()
{{
Оповещение ("Привет");
} (1);
Действительно, ошибка исчезла. Но вышеупомянутое письмо эквивалентно влиянию следующих способов
Код заключается в следующем:
Код кода копирования следующим образом:
Функция sayHello ()
{{
Оповещение ("Привет");
};
(1);
Эти два предложения не имеют ничего общего, функция все еще не выполняется
3. Правильное письмо
Для JavaScript Cracket () не может содержать операторов, поэтому на этом этапе, когда анализ ключевого слова Funts, анализатор проанализирует соответствующий код для выражения функции вместо оператора функции. кронштейн).
Код заключается в следующем:
Код кода копирования следующим образом:
(Функция sayHello ()
{{
Оповещение ("Привет");
} ());
Также возможен другой способ написания, то есть последние скобки позади, как как
Код заключается в следующем:
Код кода копирования следующим образом:
(Функция sayHello ()
{{
Оповещение ("Привет");
}) ();
Рекомендуется первый метод.
Но в настоящее время многие лучшие библиотеки JS используют второй путь.
Например: веб -графика рисована: git, draw2d, ...