const that = this; // Window
let a = {
one: that, // всё тот же Window
two: 'test'
}
console.log(a.one) // Window
const one = () => this; // объявили в глобальном контексте
let a = {
one,
two: "two",
}
a.one() // Window
Где функцию объявили, «в то отделение и обращайтесь» ){
const div = document.createElement("div"); // создать обёрточный div
div.classList.add("QnA-habr-com"); // добавить ему какой-то класс
const els = document.querySelectorAll("#rec365427333, #rec365427599"); // выбрать элементы
const parent = els[0].parentNode; // определить родителя первого из них
parent.appendChild(div); // вложить обёрточный див в родителя
els.forEach((el) => div.appendChild(el)) // перенести в обёртку те два
}
Слабое место вашего вопроса в том, что эти ID, вероятно, будут меняться в тильде, и решение перестанет работать. Лучше отбирать элементы как-то иначе. Например, сейчас те два блока, вроде бы, единственные 2 внутри div#allrecords
и можно их отбирать как const els = document.querySelectorAll("div#allrecords > div");
const items = {111: {id: 111}, 222: {id: 222}};
items // Object { 111: {…}, 222: {…} }
delete items[111] // true
items // Object { 222: {…} }
Object.defineProperty()
? Что покажет Object.getOwnPropertyDescriptor(items, 53522)
— там writable: true
? ̲
– он делает предшествующий символ подчёркнутым.{ сумма: счётчик }
, сколько раз каждая сумма встретилась на всём диапазоне 000..999
(для n = 6
, т.е. половина = 3)function getLuckyTicketsCount(n) {
const sums = {};
for (let i = 0; i < Math.pow(10, n >> 1); i++) {
// посчитать сумму цифр
let sum = 0, d = i;
while (d > 0) {
sum += d % 10; // прибавили младшую цифру
d = Math.floor(d / 10); // сдвинули число вправо на 1 цифру
}
// и в словарь прибавить 1 для этой суммы
sums[sum] = (sums[sum] || 0) + 1;
}
return Object.values(sums) // счетчики суммм
.map((n) => n * n) // квадраты
.reduce((acc, c) => acc + c); // сложить все
}
В чём отличие от присваиваниятолько в том, что сохранили значение, которое возвращает вызов. Для этой функции это значение некий уникальный id, по которому, при необходимости, можно отменить вызов черезa = requestAnimationFrame(anim)
и от обычного вызоваrequestAnimationFrame(anim)
?
cancelAnimationFrame()
, но в приведённом коде это значение никак не используется.Почему идёт каждый раз вызов функции anim()
Первый раз потому, что в конце кода стоит вызов requestAnimationFrame()
. Последующие — потому, что в конце очередной отработки anim() есть вызов a = requestAnimationFrame(anim);
при условии, что счётчик не превышен. <div v-for="messages in message">{{ messages.name }}</div>
computed: {
thirdName() {
if (this.messages.length >= 3) {
return this.messages[2].name;
}
}
},
и показывайте его, когда не пустое: <div v-if="thirdName">Имя: {{ thirdName }}</div>
pandas.read_csv()
действительно можно передавать валидный URL для скачивания датасета.