Eğer bir mod soruyu daha iyi ifade etmeme yardımcı olabilirse, bunu takdir ediyorum çünkü bunu sadece bir örnek vermeden sormak zor. Gördüğünüz gibiNeden değişkenimin bir var bildiriminin içinde bulunması gerekir?
$("#myField").on('keyup', function(event){
var input = $(this),
val = input.val(),
inputGroup = input.parents('div.input-group')
searchingIcon = $(inputGroup).find('i.auto-spinner'),
button = $(inputGroup).find('span.input-group-btn > button.btn'),
key = event.which,
typingTimer; // This throws an error typingTimer is not defined
//Clear typing timeout on keypress
clearTimeout(typingTimer);
//.... more code below.. not important
});
, ben typingTimer gidince, ben olsun bu durumda, ancak, virgül ardından tek bir basit var bildiriminde benim değişkenler bildirmek ister: İşte oluşturduk bir işlevdir boş bir değişkeni tanımlamak yerine, değişken için olduğu gibi tanımlanmamış bir var hatası. Eğer işleri basitçe değiştirirsem, her şey iyi çalışacaktır. Bu fenomene ilk defa rastlamadım ve bunun nedenini gerçekten bilmiyorum. (;) Ile ayrılmayan değişkenleri nasıl tanımlayacağım konusunda bazı sınırlamalar var mı?
"inputGroup" ifadenizin ardından bir virgül eksik, bu satırdan sonra otomatik noktalı virgül oluşturuyor. Böylece, sonraki tüm ödevler deklarasyon değildir; Bunlar, mevcut değişkenlere (veya o isimde bir değişken yoksa, gizli globals'a) atanırlar. Bunun bir yazım hatası mı, yoksa cevap mı vereceğine emin değilim, çünkü diğerleri aynı yazım hatası yapabilir mi? – apsillers
_ "Bu fenomen ilk defa karşılaştığımda bu olmaz" _: belki o zaman varislerinizi nasıl beyan ettiğinizde bir değişiklik zamanı? – Andy
Gerçekten. Bu bir fenomen değil, yanlış kod. – Stuart