Для чего просиживаете на тостере по 5-6 часов в день?
<div>
<img data-loop-src='[
"https://picsum.photos/150/150/?image=10",
"https://picsum.photos/150/150/?image=25",
"https://picsum.photos/150/150/?image=30"
]'>
<img data-loop-src='[
"https://picsum.photos/150/150/?image=5",
"https://picsum.photos/150/150/?image=8",
"https://picsum.photos/150/150/?image=4"
]'>
<img data-loop-src='[
"https://picsum.photos/150/150/?image=2",
"https://picsum.photos/150/150/?image=99",
"https://picsum.photos/150/150/?image=84"
]'>
</div>
<script>
document.querySelectorAll('[data-loop-src]').forEach(image => {
const list = JSON.parse(image.dataset.loopSrc);
(function timer(index = 0) {
setTimeout(() => {
if (list[index]) {
image.src = list[index];
timer(++index);
} else {
setTimeout(timer, 4000);
}
}, 200);
})();
});
</script>
const chainScripts = src => src.reduce((acc, n) => {
return acc.then(() => new Promise((resolve, reject) => {
const s = document.createElement('script');
s.onload = resolve;
s.onerror = reject;
s.src = n;
document.head.appendChild(s);
}));
}, Promise.resolve());
let num = new Number(123);
num === 123; // false
num == 123; // true
typeof num; // object
// не строгий режим
function func() {
console.warn(this);
}
func.call(100); // выведет [Number: 100] объект, т.е. есть преобразование
"use strict"
function func() {
console.warn(this);
}
func.call(100); // выведет 100, примитивный number. т.е. преобразования нет
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<link rel="stylesheet" href="/src/style.foo.css" />
<script src="src/script.foo.js"></script>
</head>
<body>
<div id="nest"></div>
<link rel="stylesheet" href="/src/style.bar.css" />
<script src="src/script.bar.js"></script>
<script>
const nest = document.querySelector("#nest");
const elems = document.querySelectorAll('link[rel="stylesheet"], script[src]');
elems.forEach(el => {
fetch(el.src || el.href)
.then(r => r.text())
.then(src => {
const pre = document.createElement("pre");
const hr = document.createElement("hr");
pre.innerText = src;
nest.appendChild(pre);
nest.appendChild(hr);
});
});
</script>
</body>
</html>
const myIframeDocument = document.querySelector('iframe').contentDocument;
myIframeDocument.querySelectorAll('link[rel="stylesheet"], script[src]');
//ну и дальше тоже самое...
element.addEventListener('click', myFunc)
а не запускать ее выполнение. Отправляя myFunc('arg')
вы сразу же запускаете выполнение функции. Чтобы отправить параметры функции в обработчик нужно привязать контекст через .bind
, как уже вам написали в примере выше, либо использовать метод .handleEvent
из интерфейса EventListener
:function myFunc(event) {
console.log(this.arg);
}
.....
element.addEventListener('click', {
handleEvent: myFunc,
arg: 'arg_value'
});
Какой выбрать монитор для верстальщика в 2019 году?
Если ли смысл в 4k?
Не раздражают ли верстальщиков изогнутые формы?
Как вы считаете?
eval(JSON.stringify(array).replace(/[^\d]+/g, '+') + '0') // 31
const a = [1, 2, [3, 4, [[5, 6], 7], 8]];
// Вжух! и получится строка:
"+1+2+3+4+5+6+7+8+"