dir.by  
Поиск >>

Компьютер, программы
→
JavaScript - язык программирования для HTML
 Само-вызывающая безымянная функция в JavaScript | стандарт ES5 
посмотрели 10743 раз
обновлено: 1 августа 2020
Само-вызывающая безымянная функция удобна тем, что у нее нет имени и можно в одном файле писать много таких функций и не будет конфликтов с именами.

Синтаксис без параметров
( function(){} )();

или

( function(){}() );

Синтаксис с параметрами
( function (param1, param2, ...){} )(значение1, значение2, ...);
Пример
Само-вызывающая безымянная функция
без параметров
  JavaScript  
( function(){ /* Ваш код здесь ... */ } )();
Само-вызывающая безымянная функция
с параметрами
  JavaScript  
( function(){ /* Ваш код здесь ... */ } )();
Пример
  Html  
<html>
<body>

<script>

     // Само-вызывающая безымянная функция без параметров
     ( function(){ alert('Hello1'); } )();

     // Само-вызывающая безымянная функция без параметров
     ( function(){ alert('Hello2'); }() );

     // Само-вызывающая безымянная функция с одним параметром
     ( function(text) {alert(text);} )("Hello3");

</script>

</body>
</html>
на экране увидим:
"Hello1"
"Hello2"
"Hello3"
Где используется само-вызывающая безымянная функция ?
Чтобы не писать новую функцию с именем, а вызывать само-вызывающую безымянную функцию и небыло конфликтом с именами других функций.
То есть обычно само-вызывающая безымянная функция это какая-то своя независимая функция которая, что то делает.
Пример использования само-вызывающей безымянной функции:
Само-вызывающая безымянная функция используется в рекламе Yandex
Если вы хотите чтобы ваш сайт зарабатывал деньги то вам Yandex предлагает встроить на вашу страницу рекламу.
Yandex для каждого сайта дает свой кусочек кода рекламы. Вот пример такого кода рекламы:

  JavaScript  
<!-- Yandex.RTB R-A-234410-1 -->
<div id="yandex_rtb_R-A-234410-1"></div>
<script type="text/javascript">
     (function(w, d, n, s, t) {
          w[n] = w[n] || [];
          w[n].push(function() {
               Ya.Context.AdvManager.render({
                    blockId: "R-A-234410-1",
                    renderTo: "yandex_rtb_R-A-234410-1",
                    horizontalAlign: false,
                    async: true
               });
          });
          t = d.getElementsByTagName("script")[0];
          s = d.createElement("script");
          s.type = "text/javascript";
          s.src = "//an.yandex.ru/system/context.js";
          s.async = true;
          t.parentNode.insertBefore(s, t);
     })(this, this.document, "yandexContextAsyncCallbacks");
</script>


(function(w, d, n, s, t) ... это и есть само-вызывающая безымянная функция.
То есть на вашей странице может быть много ваших функций.
При вызове само-вызывающей безымянной функции не вызовется ни одна из ваших функций (не будет конфликта имен).
 
← Предыдущая тема
Безымянная функция в JavaScript . Использование безымянной функции: безымянную функцию передаем как параметр в другую функцию. Пример: Calculate(15, 7, function(v1, v2) {return v1+v2;}); | стандарт ES5
 
Следующая тема →
Создаем файл js с объектом содержащий экспортные переменные и функции. Это пример использования само-вызывающей безымянной функции | стандарт ES5
 
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

 
• В каком редакторе (программе) удобно писать JavaScript код?
Новое приложение
• Создаем новое приложение JavaScript в текстовом редакторе
• Создаем новое приложение JavaScript в Visual Studio Code. Отладка приложения. Смотрим в отладке как по шагам выполняется JavaScript
Отладка JavaScript, HTML
• Отладка JavaScript в Google Chrome. Используем debugger
• Как узнать (увидеть) где ошибка при выполнении HTML, JavaScript в Google Chrome
• Отладка JavaScript в Google Chrome. Используем console.log("Hello!")
JavaScript стандарт ES5. Издан в 2009 году. Поддерживается всеми браузерами
Функция
• Функция в JavaScript. Пример: function CalculateSum(value1, value2) { ... } | стандарт ES5
• Функция return || в JavaScript. Пример: function getPersonName(name) { return name || "Evgen" } | стандарт ES5
• Вызов функции до ее определения (Hoisting) в JavaScript | стандарт ES5
• Переменные внутри функции (время жизни переменных внутри функции) JavaScript | стандарт ES5
• Передача параметров по значению и по ссылке в функцию в JavaScript | стандарт ES5
• Как узнать ... существует ли функция по названию в JavaScript? Пример: typeof calcSum == "function" | стандарт ES5
• Функция описанная внутри функции. JavaScript | стандарт ES5
Безымянная функция
• Безымянная функция в JavaScript . Использование безымянной функции: создаем новую переменную и новой переменной назначаем безымянную функцию. Пример: var myFunc1 = function (a, b) { return a + b; } ; | стандарт ES5
• Безымянная функция в JavaScript . Использование безымянной функции: безымянную функцию передаем как параметр в другую функцию. Пример: Calculate(15, 7, function(v1, v2) {return v1+v2;}); | стандарт ES5
Само-вызывающая безымянная функция
• Само-вызывающая безымянная функция в JavaScript. Где используется? Используется в Yandex рекламе. Пример: ( function(){ ... } )(); | стандарт ES5
• Создаем файл js с объектом содержащий экспортные переменные и функции. Это пример использования само-вызывающей безымянной функции | стандарт ES5
Лямбда функция (сокращенный вариант безымянной функции)
• Лямбда функция в JavaScript . Использование лямбда функции. [Пример1] var myFunc1 = (a, b) => a + b; [Пример2] Calculate(15, 7, (v1, v2) => {return v1+v2;}); | стандарт ES5
Переменные
• Переменные в JavaScript (текст, число, флаг, дата и время) | стандарт ES5
• Доступ к переменным до их определения (Hoisting) в JavaScript | стандарт ES5
• Область видимости переменных var, let, const в JavaScript | стандарт ES5
Текст, строки в JavaScript
• Текст в JavaScript. Класс String. Пример: var myText = String("World"); | стандарт ES5
• Length (длина строки в JavaScript) | стандарт ES5
• Функция replace(text1, text2) заменить текст в JavaScript | стандарт ES5
• Функция toUpperCase() переводит текст в верхний регистр JavaScript | стандарт ES5
• Функция toLowerCase() перевод текста в нижний регистр JavaScript | стандарт ES5
• Функция split(delimiter) разделяет строку на подстроки JavaScript | стандарт ES5
• Функция charAt(position) получить символ по позиции JavaScript | стандарт ES5
• Функция substr(pos, len) возвращает подстроку JavaScript | стандарт ES5
• Функция slice(pos1, pos2) возвращает подстроку JavaScript | стандарт ES5
• Функция substring(pos1, pos2) возвращает подстроку JavaScript | стандарт ES5
• Функция indexOf(text, startPos) ищет подстроку и возвращает индекс JavaScript | стандарт ES5
• Функция startsWith(text) проверяет, начинается ли строка с указанной подстроки JavaScript | стандарт ES5
• Функция trim() удалить пробелы в начале и в конце строки JavaScript | стандарт ES5
• Функция padStart(length, symbol) добавляет в начале строки символы до нужной длины строки JavaScript | стандарт ES5
• Функция padEnd(length, symbol) добавляет в конце строки символы до нужной длины строки JavaScript | стандарт ES5
• В текстовую переменную можно назначить текст как много строк. Пример: var myText = `Hello \n Thanks \n Bye` | JavaScript стандарт ES6
• В текстовой переменной можно писать выражения с переменными (форматирование, интерполяция строки). Пример: var myText = `Hello ${a}` | JavaScript стандарт ES6
Регулярные выражения
• Регулярные выражения в JavaScript | стандарт ES5
• Пишем регулярное выражение чтобы удалить все специальные символы кроме букв и цифр | Regex JavaScript | стандарт ES5
Числа и математические функции
• Числа в JavaScript. Конвертация текста в число. Округление числа. Перевод шестнадцатиричного в десятичное число. | стандарт ES5
• Математические функции из библиотеки Math: Sin, cos, log, pow и так далее в JavaScript | стандарт ES5
Дата и время
• Дата и время (год, месяц, число, часы, минуты, секунды) в JavaScript. Класс Date | стандарт ES5
Массив
• Массив в JavaScript это [] или класс Array | стандарт ES5
• Что значит 3 точки ...items | Пример 1: Math.max(...prices) | Пример 2: books.push(...items) | JavaScript, стандарт ES5
• Различие между push(items) и push(...items) | Добавление массива в массив в JavaScript | стандарт ES5
• Найти max цены в сложном массиве: [ {name:"Tomate", price:10}, {name:"Apple", price:17}, {name:"Orange", price:15} ] в JavaScript | стандарт ES5
• Найти min цены в сложном массиве: [ {name:"Tomate", price:10}, {name:"Apple", price:17}, {name:"Orange", price:15} ] в JavaScript | стандарт ES5
Коллекции Map и Set
• Коллекция "ключ-значение" в JavaScript. Класс Map | стандарт ES5
• Коллекция уникальных значений в JavaScript. Класс Set | стандарт ES5
Объект {набор свойств и функций}
• {} это объект в JavaScript. Объект содержит набор свойств и функции. Пример var book = {Name: "Волшебник Средиземноморья", Price: 120}; | стандарт ES5
• {...} = объект в JavaScript заполняем из переменных класса или другим объектом. Пример: const {name, total, price} = b.myProps; | стандарт ES5
Класс (это функция с использованием new) | стандарт ES5
• Класс в JavaScript это обычная функция-конструктор. Такая функция-конструктор содержит простые данные, объекты, внутренние функции в JavaScript. Для создания объекта класса используется new Пример: function Book() { ... } ... var obj1 = new Book(); | стандарт ES5
• Инкапсуляция переменных (скрытие переменных для доступа) в функции (в виде класса) в JavaScript | стандарт ES5
• prototype - это набор функций, переменных для всех экземпляров класса (в виде функции) в JavaScript | стандарт ES5
try catch
• Зачем нужно использовать try и catch в JavaScript? | стандарт ES5
Замыкание (closure) в Javascript
• Что такое замыкания (closure) в JavaScript ? Стандарт ES5
Управление памятью в JavaScript
• Управление памятью в JavaScript | стандарт ES5
Примеры движение картинки и анимация
• Анимация человечка на месте. Используем HTML элемент <div>. Для анимации используем CSS стили: "animation", "background-image", "background-position", "keyframes" | стандарт ES5
• Анимация человечка в движении (sprite). Используем HTML элементы <div>, <img>. Для анимации используем CSS стили: "animation", "background-image", "background-position", "keyframes" | стандарт ES5
• Рисуем картинку с движением. Используем HTML элемент <canvas>. Для движения используем JavaScript: var img = new Image(), img.src = url, drawImage, timer, window.setInterval | стандарт ES5
• Рисуем картинку с движением и анимацией (sprite). Используем HTML элемент <canvas>. Для движения используем JavaScript: var img = new Image(), img.src = url, drawImage, timer, window.setInterval | стандарт ES5
Примеры
• Как определить устройство (планшет, компьютер, телефон) которое сейчас используется в JavaScript, HTML | стандарт ES5
• Редактор текста пишем на HTML, JavaScript | стандарт ES5
Делаем Popup используя HTML и Javascript
• Как сделать Popup окно в HTML странице | Javascript, HTML, CSS
Моя игра (HTML, JavaScript)
• Моя игра "Wizard World" | HTML, JavaScript
PDF readers. Загрузка и отображение файла PDF (JavaScript, HTML)
• PDF reader. Загрузка и отображение файла PDF (adobe JavaScript, HTML) | PDF JavaScript implemented by Adobe
• PDF reader. Загрузка и отображение файла PDF (JavaScript, HTML) | PDF JavaScript implemented by Mozilla
JavaScript стандарт ES6. Издан в 2015 году. Поддерживается НЕ всеми браузерами. Синонимы ES6, ES2015, ECMAScript 2015
• В текстовой переменной можно писать выражения с переменными (форматирование, интерполяция строки). Пример: var myText = `Hello ${a}` | JavaScript стандарт ES6
• class | Класс в JavaScript. Пример: class Book {...} ... var obj1 = new Book(); | стандарт ES6
• promise в JavaScript | стандарт ES6

  Ваши вопросы присылайте по почте: info@dir.by