Скажем, у меня есть простая функция, которая предупреждает сообщение:
function callMessage(msg){
alert(msg);
}
Теперь, когда я так называю, это не работает.Выдает ошибку «эй не определено»
function sayHi(){
var hey = "hi there"
setTimeout("callMessage(hey)", 1000);
}
sayHi();
Но когда я вызываю ее внутри анонимной функции, она работает:
function sayHi(){
var hey = "hi there"
setTimeout(function(){callMessage(hey);}, 1000);
}
sayHi();
Почему переменная «эй» видна только когда яположить его внутри анонимной функции?