Bir mesaj uyarır basit işlevi olduğunu varsayalım. hatayı AtarBu kapatma neden çalışıyor? Öyle gibi çağırdığınızda</p> <pre><code>function callMessage(msg){ alert(msg); } </code></pre> <p>Şimdi, çalışmaz:
function sayHi(){
var hey = "hi there"
setTimeout("callMessage(hey)", 1000);
}
sayHi();
"hey tanımlanmadı" Ama anonim işlevi içinde diyoruz ne zaman çalışır:
function sayHi(){
var hey = "hi there"
setTimeout(function(){callMessage(hey);}, 1000);
}
sayHi();
neden bir içine koyduğunuzda sadece görünür "hey" değişkendir anonim işlev?
değerlendirildiğinde alınamaz böylece ve (javascript Peşinde değişkeni kullanılır olacağını bilemez çünkü) ben de aynı bir fikstür kaydedilmez bunu dene; setTimeout ("var hey =" merhaba "; callMessage (hey)", 1000); – mindandmedia
Senin yerinde olsaydım, bir şeyler okumuştum - http://www.digital-web.com/articles/scope_in_javascript/ –