"habr"
, примитивом String("habr")
и объектом new String("habr")
. В последнем случае typeof === "object"
и происходят чудеса: const x = new String("habr");
const y = new String("habr");
x === y // false
Set()
сможет хранить экземпляры объектов, которые только при приведении к примитиву дадут одинаковые строки, а так суть есть разные инстансы. Может, это ваш случай? arr === undefined
'aBc-dEf-GH' => ['aBc', 'dEf', 'GH']
map()
пробежит по каждому элементу, возвращая новый. 'dEf' => 'Def'
'aBc' => 'abc'
function camelize(str) {
return str.split('-')
.map((word, i) => i ? word.substr(0, 1).toUpperCase() + word.substr(1).toLowerCase() : word.toLowerCase())
.join('');
}
^(.+)\.(\d+)\.(css|js)$
^
— начало строки( )
— то, что внутри скобок, отдельно попадёт в переменные $1, $2, .. $N
.
— любой символ+
— определяет количество предшесвтующего ему: «1 или несколько».+
— один или несколько любых символов\.
— буквально точка обыкновенная, point vulgaris, без спец. значения\d
— цифра. \d+
одна или несколько цифр(css|js)
– или "css" или "js"$
— конец строки/css/main.min.682375227.css
и заменит её строкой без числа: /css/main.min.css
main.min.css
, какой там у него есть. hosts
любой домен, указывающий на адрес 127.0.0.1
, и работать с ним.Access-Control-Allow-Origin: *
const sample = 'submenu-';
const links = [...document.querySelectorAll('ul.navbar-main a')]
.filter((a) => a.id.startsWith(sample));
console.log(links); // массив со ссылками
links.forEach((a) => a.addEventListener('click', (e) => e.target.classList.add('top'));
a[id^=submenu]
выберет те элементы anchor, у которых id начинается с "submenu":[...document.querySelectorAll('ul.navbar-main a[id^=submenu]')]
.forEach((a) => a.addEventListener('click', (e) => e.target.classList.add('top'));
h264
а звук в AAC
– это стандарт де-факто для видео в вебе.720 / 9 * 16 ~= 968
(должно делиться на 4 — требование кодека). Т.е. сделать 968x544
if(event.key = a8[event.key]){
— здесь вы просто присваиваете в event.key
значение из a8
. При вводе маленкой "o"
, возвращается ноль, и if ()
не срабатывает. В двух других случаях возвращается не-ноль, и срабатывает код внутри if ()
.{
let isYMLoaded = false;
const loadYM = () => {
if (isYMLoaded) return;
isYMLoaded = true;
setTimeout(() => {
// Metrika code
// ...
}, 0);
}
const eventNames = 'click,scroll,touchstart,mouseenter'.split(',');
const handlerYM = () => {
eventNames.forEach((name) => document.removeEventListener(name, handlerYM));
loadYM();
}
if (!!~navigator.userAgent.indexOf('YandexMetrika')) {
// Yandex
loadYM();
} else {
// нормальный посетитель
eventNames.forEach((name) => document.addEventListener(name, handlerYM));
}
}
for (let i = 8; i < 13; i++) console.log( ('00' + i).substr(-2));
/* выведет:
08
09
10
11
12
*/
for (let i = 8; i < 13; i++) console.log( i.toString().padStart(2, '0'));
// тот же результат
String.padStart()