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%));
}