function one() {
const oneVar = 'Hello!'
let counter = 0;
console.log('функция one работает прямо сейчас, в счетчике', counter)
function two() {
console.log(oneVar, ++counter)
}
console.log('функция one почти завершилась, в счетчике все еще ', counter);
return two
}
const three = one();
console.log('функция one точно завершилась, даже return сработал');
console.log('в переменной three сейчас функция two()');
console.log(three);
three();
three();
three();
console.log('обожемой, мы видим как менялась переменная в уже завершенной функции. чераная магия? нет - это называется замыкание!');
"функция one работает прямо сейчас, в счетчике", 0
"функция one почти завершилась, в счетчике все еще ", 0
"функция one точно завершилась, даже return сработал"
"в переменной three сейчас функция two()"
function two() {
console.log(oneVar, ++counter)
}
"Hello!", 1
"Hello!", 2
"Hello!", 3
"обожемой, мы видим как менялась переменная в уже завершенной функции. чераная магия? нет - это называется замыкание!"
И почему нам Map.values() и Map.keys() возвращает пустой итерируемый объект?
Для чего это?
Нам всё равно потом приходится преобразовывать его в массив, чтобы получить данные и с ними уже что-то делать
- как запретить добавлять товар, если он уже добавлен
- как заменить "+" на "-" для товара, который уже добавлен
let elements = document.querySelectorAll('.advantages__item');
window.addEventListener('scroll', check, false);
function check() {
elements.forEach(el =>
el.classList.toggle('show', window.scrollY > 300)
);
}
const symbols = 'фывап'; // ваши символы
const rnd = () => symbols[Math.floor(Math.random() * symbols.length)]; // получить случайный символ
const re = /\D/g; // регулярка, ищущая любые не цифровые символы
const magic = str => str.replace(re, rnd); // вот и все!
str.replace(re, rnd);
str.replace(re, retReplace);
function getReplace(key) {
const allSymbols = {
a: ['∀', '₳', 'Ä'],
b: ['Ᏸ', 'β', '฿', 'ß'],
c: ['ℭ', 'Ç', 'Ꮸ', '₡'],
d: ['Ɗ', 'Ď', 'Đ'],
e: ['£', 'Ē', 'ξ', 'Ê', 'È', '€', 'É', '∑', 'Ế', 'Ề', 'Ể', 'Ễ'],
f: ['ℱ', '₣', 'ƒ', '∮', 'Ḟ', 'ჶ'],
g: ['Ꮹ', 'Ꮆ', 'Ǥ', '₲'],
h: ['ℍ', 'ℋ', 'ℌ', 'ዙ', 'Ĥ', 'Ħ'],
i: ['ℐ', 'ℑ', 'Ï'],
j: ['ჟ', 'Ĵ'],
k: ['₭', 'Ꮶ', 'Ќ', 'Ķ', 'Ҝ', 'ﻸ'],
l: ['ℒ', 'ℓ', 'Ŀ', '£', 'λ', '₤', 'Ł', 'Ꮭ', '£', 'Ꮑ'],
m: ['ℳ', 'ʍ', 'Ḿ', '爪'],
n: ['ℕ', 'η', 'Ñ', 'Ŋ', 'Ń', 'ℵ', '₦'],
o: ['ტ', 'Ǿ', 'Θ', 'Ø', 'Ό', 'Ở', 'Ờ', 'Ớ', 'Ổ'],
p: ['ℙ', '℘', 'þ', '尸', 'Ҏ', '₱'],
q: ['ℚ', 'Q', 'Q'],
r: ['ℝ', 'ℜ', 'ℛ', '℟', 'ჩ', 'Ꮢ', '尺'],
s: ['Ꮥ', 'Ṧ', 'ى', '§', 'Ś', 'Ŝ', '₰', '∫', '$', 'ֆ'],
t: ['₸', '†', 'T', 'Ţ', 'Ŧ', 'ィ', '干', 'Ṫ', 'テ', '₮'],
u: ['∪', 'Ũ', '⋒', 'Ủ', 'Ừ', 'Ử', 'Ữ', 'Ự', 'Џ'],
v: ['∨', '√', 'Ꮙ', 'Ṽ', '\\/', '℣'],
w: ['₩', 'Ẃ', 'Ẁ', 'ώ', 'ω', 'Ŵ', 'Ꮤ', 'Ꮃ', 'ฬ', 'Ẅ', 'ѡ', 'Ꮚ', 'Ꮗ', 'ผ', 'ฝ', 'พ', 'ฟ'],
x: ['χ', 'ჯ', 'Ẍ', 'ẍ', 'ᶍ'],
y: ['ɣ', 'Ꭹ', 'Ꮍ', 'Ẏ', 'ẏ', 'ϒ', 'ɤ', '¥', 'り'],
z: ['ℤ', 'ℨ', 'ჳ', '乙', 'Ẑ', 'ẑ', 'ɀ', 'Ꮓ'],
};
const symbols = allSymbols[key];
return symbols[Math.floor(Math.random() * symbols.length)];
}
$(form).serialize()
?вы меня не поняли, мне нужно узнать как сравнить БОЛЬШЕ двух массивов. На ресурсах, предложенных вами есть сравнение только двух массивов, это я и сам нашел.
for( let i = 1; i < myArrays.length; i++) {
myCompareFunc(a, myArrays[i]);
}
fetch('/path/to/message.txt')
.then((response) => response.text())
.then((text) => {
console.log(text);
});
При необходимости можно и заголовки, и прочие параметры настроитьdocument.querySelectorAll('#ChildGanderNameFilterId option')
.forEach(el => {
el.textContent = el.textContent.replace(/\s\S+@\S+/, '')
});