output.library
output.libraryExport
output.libraryTargetвот здесь пример
const f = (...callbacks) => {
// spread собирает аргументы в массив,
// поэтому и работать с ними можно как с массивом
callbacks.forEach((callback) => callback());
}
f(
() => console.log(1),
() => console.log(2),
() => console.log(42),
); let func = alertFinished.bind(null, 'ваш аргумент') // тут null это контекст this, но он нам не нужен. Нам нужен второй аргументdoHomework('math', func);doHomework('math', function () { alertFinished('ваш аргумент') });
const getPrimitiveProps = (obj) =>
Object.entries(obj).reduce((acc, [ k, v ]) => ({
...acc,
...(v instanceof Object ? getPrimitiveProps(v) : { [k]: v }),
}), {});const getPrimitiveProps = (obj) =>
Object.assign({}, ...Object.entries(obj).map(([ k, v ]) =>
v instanceof Object ? getPrimitiveProps(v) : { [k]: v }
));
var deferred = $.ajax({ ... });
deferred.done(function(data) { /* Действие 1 */ });
deferred.done(function(data) { /* Действие 2 */ }); calc(100vw - 100%) можно вычислить ширину скроллбара (а если он не отображается, то будет 0). Идея: при помощи отрицательного margin-right увеличить ширину <html> на эту ширину. При этом появляется горизонтальная полоса прокрутки — ее скрываем.html {
overflow-x: hidden;
margin-right: calc(-1 * (100vw - 100%));
}