function replaceBreadCrumbs(label, text) {
// функция работает до тех пор пока в тексте есть метка {DATETIME}
if(!document.body.innerText.includes(label)) return false;
var elements = document.querySelectorAll("*");
var elementWithLabel;
for(var i = 0; i < elements.length; i++) {
// Проверка срабатывает на многих элемента, в которых вложенность но останавливается на последнем
// <div><b>{DATETIME}</b></div> попадает под проверку
// <b>{DATETIME}</b> - попадает и будет последний в проверке.
if(elements[i].innerHTML.includes(label)) {
elementWithLabel = elements[i]
}
}
elementWithLabel.innerHTML = elementWithLabel.innerHTML.replace(label, text);
// Запускаем функцию заново и ищем метки
replaceBreadCrumbs.apply(null, arguments)
}
replaceBreadCrumbs("{DATETIME}", "03 мая 15:00");
Значение функции без return и с пустым return
В случае, когда функция не вернула значение или return был без аргументов, считается что она вернула undefined:
var hello = document.querySelectorAll(".hello");
for(var i = 0; i < hello.length; i++) {
hello[i].setAttribute("classAttr", hello[i].classList[1]);
}
$(".hello").attr("classAttr", function() {
return this.classList[1];
});
var shadow = $(this).find('.shadow');
var button = $(this).find('.button');
shadow.height(shadow.height() + button.height() + 20)
var obj = {
"a": {
"b": "123",
"c": "456"
},
"d": {
"b": "1123",
"c": "44456"
}
}
Object.entries(obj).forEach(a=> {
Object.keys(a[1]).forEach(b=> {
console.log(obj[a[0]][b])
})
})
Ведь при простом создании объекта у него прототипом становится Object
Ведь при простом создании объекта у него прототипом становится Object.prototype
Object.prototype.keys = Object.keys
var o = {x:1,y:2};
o.keys(o) // ["x","y"]
if(2 > 1) {
true
} else {
false
}
аналогичная(2 > 1) ? true : false
<select id="app"></select>
var app = document.getElementById("app");
for (var i = 1920; i < 2010; i++) {
app.innerHTML = app.innerHTML + "<option>" + i + "</option>";
}