JavaScript.setTimeout
JavaScript öğreniyorum ve yeni JavaScript Zamanlama Olayları öğrendim. bu link:http://www.w3schools.com/js/js_timing.asp yaklaşık JavaScript setTimeout Yöntemini öğrendim
Önce rastlamasaydım garip bir şekil fark ettim. Yukarıdaki linkten w3schools ayarlar olarak setTimeout Yöntemini ayarlayın. Çift tırnak kullanarak ve sonra işlev çağrısında bulunuyorlar.
Örnek:
setTimeout("alertMsg()",3000);
Bir çift tek tırnak, tırnak içinde olduğunu biliyorumJSdemek bir Dize. ayrıca böyle aynı yapabileceğimi gördüm
setTimeout(alertMsg,3000);
parantez içinde kendi kopyalanan olmadan parantez onun atıfta bulunarak,söz. Tırnak ve parantez almak deli kullanıyorum. Eğer bazı biri bana üç garipliği açıklayabilir eğer memnun olacaktır anlamadığım ilk böyle: bu yöntemi kullanıyor
setTimeout("alertMsg()",3000);
(parantez içinde). ikinci tırnak ve bu gibi: parantez ile
setTimeout(alertMsg,3000);
ve üçüncü kullanıyorum.
setTimeout("alertMsg",3000);
Tırnak ve parantez olmadan.
GÜNCELLEME
SetTimeout başvuru için iyi bir kaynak MDN olurdu
CEVAP
setInterval
setTimeout
setTimeout
setInterval
ilk argüman olarak bir fonksiyon için bir referans geçmesi. Bu başvuru formunda olabilir:
İsimsiz bir fonksiyon
setTimeout(function(){/* Look mah! No name! */},2000);
Varolan bir işlev bir ad
function foo(){...} setTimeout(foo, 2000);
Varolan bir fonksiyonu işaret eden bir değişken
var foo = function(){...}; setTimeout(foo, 2000);
Ben set yapmak not "bir işlevi""". işlev adı ayrı ayrı değişken Değişkenler ve fonksiyon isimleri aynı ad işgal ve birbirimizi hırpalamak bu belli değil.
Geçen argümanlar
Bir işlev çağrısı ve parametreleri geçirmek için, geri arama içinde işlevi zamanlayıcı atanan diyebilirsiniz:
setTimeout(function(){
foo(arg1, arg2, ...argN);
}, 1000);
İşleyici, ancak it's not cross-browser compatible içine değişkenler geçmek için başka bir yöntem yoktur.
setTimeout(foo, 2000, arg1, arg2, ...argN);
Geri arama bağlamı
Varsayılan olarak, idam ne zaman geri arama (işlevi zamanlayıcı tarafından adlandırılan içinde this
değeri) kapsamında 26 ** genel nesne. Değiştirmek istiyorum, bind
kullanmalısınız.
setTimeout(function(){
this === YOUR_CONTEXT; // true
}.bind(YOUR_CONTEXT), 2000);
Güvenlik
- Gerçi, ama 37 ** setTimeout
setInterval
. Bir dize gönderme setTimeout()
setInterval()
bir işlevi 39**, rasgele ve potansiyel olarak zararlı betik çalıştırma mümkün kılan o eval()
benzer kullanır.
Javascript: setTimeout basın()?...
JavaScript.setTimeout...
Daha doğru bir şekilde setTimeout daha...
CSS önce eklemek önerisi JavaScript ge...
JavaScript Cari Yıl olsun...