Самоупомянутые анонимные функции в JavaScript
Формат:
(function () {// code}) ();Объяснение: Это довольно элегантный код (он может быть запутан, если вы видите его в первый раз :)), первая пара кронштейнов, окружающих функцию (function () {}), возвращает неназванную функцию в скрипт, а затем пара пустых скобок сразу выполняет возвращенную неназванную функцию с параметрами анонимной функции в скобке.
Вот пример с параметрами:
(function (arg) {alert (arg+100);}) (20); // Этот пример возвращает 120.Важное использование: вы можете использовать его для создания пространства имен. Пока вы пишете весь свой код в этой обертке специальной функции, внешняя нельзя получить доступ, если вы не разрешаете это.
(function () {function $ (id) {return document.getElementbyId (id);} function __addClass (id, classname, classvalue) {$ (id) .style.classname = classvalue;} window ['myspace'] = {}; window ['mySpace'] ['addClass'] = x addC.);Приведенный выше пример может инкапсулировать и защищать все ваши функции, объекты и переменные с помощью этого псевдо-нарменного пространства. Более того, поскольку они находятся в одной и той же функции, они могут быть направлены друг на друга. Чтобы глобализировать защищенный код, пара скобок говорит браузеру немедленно выполнить возвращенную анонимную функцию, а во время выполнения назначьте __addclass () метод окна, так что только AddClass можно выполнить снаружи, а __addclass защищен. Я могу назвать это таким: myspace.addclass («oneid», «font-width», «Bold»)