undefined
там, где его не должно было бы быть. Проверьте зависимости, скорее всего вы просто что-то не перенесли или не установили, возможно jquery
и была не установлена id
у объекта перед пушем, на который ссылается только что добавленный элемент массива (старый объект). Переменная экземпляра не должна ссылаться на объекты, добавляемые в массив. А вообще, отладка кода, как я уже говорил, наше всеvar overlay = this.childNodes[1];
var image = this.childNodes[0];
// Сумма всех элементов
function sumOfAllElements(arr1, arr2) {
sumOfArr1 = arr1.reduce((sum, el) => sum + el, 0);
sumOfArr2 = arr2.reduce((sum, el) => sum + el, 0);
return sumOfArr1 + sumOfArr2;
}
// Сумма векторов при условии что их длина равна
function sumOfVectors(vec1, vec2) {
var i = 0, result = [];
while(i < vec1.length/2) {
result[i] = vec1[i] + vec2[i];
var j = vec1.length - 1 - i;
result[j] = vec1[j] + vec2[j];
i++;
}
return result;
}
onReady
, поэтому нет смысла привязывать к ней контекст. В этом примере они как раз-таки и используют возможность изменять замкнутую функцию, чтобы всякий раз ее вызывая, получать разный результат. Ваши выводы верные, но вы упускаете тот факт, что проблема здесь только на руку разработчику, потому что вызывая setOnReady
он меняет сообщение, которое увидит пользователь $('window').on('close', (err, data) => {
//код, выполняемый обратным вызовом
});