Но как отключить работу этой функции на других страницах, чтобы могли выполняться последующие функции?
if (element) { /* что-то с ним делаем */ }
if (window.location.pathname === "/contacts/form.html") { /* тут всякая магия */ }
try { /* здесь код который вызывает ошибки */ } catch() {}
document.write()
(не используйте его). const unique = arr => {
const result = [];
const hashes = new Set();
for (let str of arr) {
const hash = str.split(':').sort().join(':');
if (hashes.has(hash)) continue;
hashes.add(hash);
result.push(str);
}
return result;
}
const isSameDay = (d1, d2) => d1.getFullYear() === d2.getFullYear()
&& d1.getMonth() === d2.getMonth()
&& d1.getDate() === d2.getDate();
const compareDates = (ms1, ms2) => {
const d1 = new Date(ms1);
const d2 = new Date(ms2);
if (isSameDay(d1, d2)) return "SAME_DAY";
d1.setDate(d1.getDate() + 1); // тут и месяц и год добавятся, если надо
if (isSameDay(d1, d2)) return "NEXT_DAY";
return "OTHER";
}
compareDates(1635688540289, 1635688540289) // "SAME_DAY"
compareDates(1635688540289, 1635768540289) // "NEXT_DAY"
compareDates(1635688540289, 0) // "OTHER"
<h4><input type="radio" id="small" value="10" zamena="20">Маленька</h4>
Для такого элемента заменить значение value
значением из атрибута zamena
можно так:const replaceValue = (el) => {
el.value = el.getAttribute("zamena");
}
replaceValue(document.getElementById("small"));
zamena
лучше пользоваться data-атрибутами.data-*
атрибутах. Например:<p data-price="100" data-size="Small" data-color="Red"></p>
Получать их значение через свойство dataset
: const element = document.querySelector("p");
element.dataset.color // "Red"
<div class="timer" data-till="1635800892"></div>
const D = new Date( 1000 * document.querySelector(".timer").dataset.till );
В JavaScript время считают не в целых секундах, а точнее, в миллисекундах, поэтому секундное время из разметки надо домножить на 1000. возвращать нулевую строку массива
const str = "abcdef";
// индексы: 012345
str.slice(2, 4)
// от индекса 2, т.е. "c"
// до индекса 4 (но не включая его)
// т.е. до "e", но без самой "e"
// итого вернёт "cd"
Что значит в коде + "..."
"Hello" + " world!"
// получится "Hello world!"
"Понимаете?" + "..."
Что значит : str
if () then {} else {}
, но это выражение - туда нельзя засовывать дополнительные действя, как в if. Удобен для короткой записи, когда нужно вернуть то или иное значение, в зависимости от условия: let a = 5 > 2 ? "5 больше 2" : "5 не больше 2";
условие если верно если ложно
href
.Infinity
списал у 0xD34F само создающихся циклов
'a'
и остался массив на 1 короче: ['b', 'c', 'd']