(function(){...})(); // Это понятно.
(function(){...})(window); // ??? причём без параметра
Например Google Analytics так делает: https://www.google-analytics.com/analytics.js
((w, d) => {
// Каждое появление w здесь экономит 5 символов
w.console.log(d.title);
})(window, document);
const somePlugin = (window) => ({
// код плагина использует window
log(...args) { window.console.log(...args); }
});
const mock = {log: [], console: {log: (...args) => mock.log.push(args)}}
// но реализацию window можно заменить
let p = somePlugin(mock);
p.log(1, 2, 3);
p.log(4);
console.log(JSON.stringify(mock.log));
Доступ к локальной переменной чуть быстрее, чем к глобальной(но это не точно) =)
Если функция использует this
– это подразумевает работу с объектом. Но и прямой вызов func()
технически возможен, a в режиме use strict
вместо глобального объекта this
будет undefined
.
function func() {
"use strict";
alert( this ); // выведет undefined (кроме IE9-)
}
func();
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
ЗдравствуйтеПодскажите пожалуйста, как правильно перевести массив из php в js так, что бы внутри массива order создавались новые объекты, но при...
Доброго времени! Пробую сверить время в формате ЧЧ:ММ есть функция которая через str_replace вырезает из текущего времени формата Y-m-d H:i:s (2017-12-02...