+function () {} ();Знак плюса здесь также может быть заменен другими унарными операторами, такими как!, ~, И эффект эквивалентен:
(function () {console.log ("foo!");}) (); // или (function () {console.log ("foo!");} ());Без этого знака плюс анализатор будет думать, что функция является началом объявления функции, а последующий () приведет к синтаксической ошибке. Когда знак + добавляется перед функцией, он становится выражением функции, и когда A () добавляется после выражения функции, он становится непосредственно выполненной функцией.
Давайте посмотрим на функцию восклицательной точки перед функцией JS:
1. Форма объявления функции JS
function fna () {alert ('msg');} // Функция определения объявления2. Форма выражения функции JS
var func = function (agr1, arg2) {// Создание оповещения анонимной функции (arg1 + '' + arg2);}3. Общие форматы для выполнения сразу после объявления анонимной функции JS
(function () { / * code * /}) ();иллюстрировать
1. Первая пара кронштейнов, окружающих функцию (function () {}), возвращает неназванную функцию в скрипт, а затем пара пустых кронштейнов немедленно выполняет возвращенную неназванную функцию с параметрами анонимной функции в скобках.
2. Используйте кронштейны, чтобы определить корпус функции, и анализатор будет вызывать функцию определения в форме выражения функции. Другими словами, любой метод, который может превратить функцию в функцию выражения, может позволить парсеру правильно вызывать определенную функцию. И! один из них, и + - || имеет такую функцию.
3. Функция этой функции в основном анонимно и автоматическое выполнение.