Я просматриваю книгу на Javascript и пробовал один из примеров ее закрытия.Является ли это правильным примером закрытия в Javascript?
function animateIt(id) {
var elem= document.getElementById(id);
var tick=0;
var timer=setInterval(function() {
if (tick<100) {
elem.style.left = tick+"px";
elem.style.top=tick+"px";
tick++;
} else {
clearInterval(timer);
assert(tick==100, "Tick Accessed and has value:- "+ tick);
assert(elem, "element accessed");
assert(timer, "timer accessed")
}
}, 10);
}
animateIt(box);
но функция таймера не имеет доступа к элем, тик и т.д., тогда как книга говорит, что должны иметь доступ к тем же самым. Пожалуйста, дайте мне знать.
Где находится "box"? – guest271314
_ «не имеет доступа к элементу, тике и т. Д.» _ Как вы знаете, что у вас нет доступа к ним? Вы получаете ошибки на консоли, говоря, что их не существует? Единственная проблема, которую я вижу в коде, заключается в том, что она может выполняться до того, как элемент, идентифицированный 'id', существует так, что' elem' в конечном итоге будет «null» –
[It works] (https://jsfiddle.net/r2u5r8f9/) – Oriol