N
const withFont = (fontName) => {
let font = null;
getFont(fontName).then(f => font = f);
return class Text {
getFont() {
return font;
}
};
};
const RobotoText = withFont('Roboto');
new RobotoText().getFont();
Size: a a a
N
const withFont = (fontName) => {
let font = null;
getFont(fontName).then(f => font = f);
return class Text {
getFont() {
return font;
}
};
};
const RobotoText = withFont('Roboto');
new RobotoText().getFont();
l
const servlet = (qs = '') => new Promise((resolve) => $.get(`myservlet${qs}`, {}, resolve, 'json'))
const chain = (data) => servlet(`?chain=${data.expected}`)
const tap = (effect) => (data) => {
effect(data)
return data
}
const show = (data) => console.info(data)
const logger = ({ steps }) => console.log(`Number of steps advanced is ${steps}`)
servlet()
.then(tap(show))
.then(chain)
.then(tap(show))
.then(chain)
.then(tap(show))
.then(chain)
.then(tap(show))
.then(chain)
.then(tap(logger))
.then(tap(show))
L
В
const hover = (elements, enter, leave = enter) => [ ...elements ]
.forEach((element) => [['mouseenter', enter], ['mouseleave', leave]]
.forEach(([ ...params ]) => element.addEventListener(...params)))
// use
hover(document.querySelectorAll('button'), () => console.log('enter'), () => console.log('leave'))
S
const hover = (elements, enter, leave = enter) => [ ...elements ]
.forEach((element) => [['mouseenter', enter], ['mouseleave', leave]]
.forEach(([ ...params ]) => element.addEventListener(...params)))
// use
hover(document.querySelectorAll('button'), () => console.log('enter'), () => console.log('leave'))
A
const hover = (elements, enter, leave = enter) => [ ...elements ]
.forEach((element) => [['mouseenter', enter], ['mouseleave', leave]]
.forEach(([ ...params ]) => element.addEventListener(...params)))
// use
hover(document.querySelectorAll('button'), () => console.log('enter'), () => console.log('leave'))