Başka bir yol daha var, işlevinizi şöyle bir değişkene bildirin:
test = function() {
alert("test");
}
jsFiddle
ayrıntılar
DÜZENLE (@nnnnnn'nin yorumlarına göre)
@nnnnnn:
neden test =
(olmadan var
) söylemek onu düzeltir?
Böyle bir işlevi tanımladığınızda:
var test = function(){};
İşlev yerel olarak tanımlanır, ancak işlevinizi aşağıdakiler olmadan tanımladığınızda var
:
test = function(){};
test
window
üst düzey kapsamda olan nesne üzerinde tanımlanır .
bu neden çalışıyor?
@Zalun'un dediği gibi:
Kaydırma ayarını belirtmezseniz, varsayılan olarak "Yüklendiğinde" olur. Bu, sonuç yüklendikten sonra çalıştırılan tüm JavaScript ile sonuçlanır. Tüm değişkenler bu işlev için yereldir, bu nedenle genel kapsamda kullanılamaz.
Ancak bu sözdizimini kullanırsanız:
test = function(){};
test
Global olarak tanımlandığı için işleve erişiminiz var
Referanslar :