JavaScript
- 4 ответа
- 0 вопросов
3
Вклад в тег
function func1() {
var myVar1 = 100;
setTimeout(function() {
console.log(myVar);
}, 1000);
}
func1();
/// Некорректный вариант, выведет 3 3 3
for(var i = 0; i < 3; i++) {
setTimeout(function() { console.log(i) }, 1000); // Потому что на момент вызова колбэка цикл уже отработает и значение i будет максимальным
}
/// Выведет 0 1 2 т.к. текущее значение переменной i для каждой итерации передано аргументом в функцию в которой его замкнула другая функция
for(var i = 0; i < 3; i++) {
var cb = (function(value) {
return function() { console.log(value) };
})(i);
setTimeout(cb , 1000);
}
for(var i = 0; i < 3; i++) {
setTimeout(function() { console.log(this); }.bind(i) , 1000);
}
$('#block').click(function(ev) {
ev.stopPropagation();
});
$("#icon").click(function() {
$('#block').fadeToggle(350);
});