JS için göreceli olarak yeniyim, fakat daha önce C dilinde programlanmıştım ve başımın tüm olayın etrafından dolaşmaya çalışıyorum. Form girişini doğrulayacak bir komut dosyası oluşturmaya çalışıyorum, ancak kodumun tamamı çalıştırılıyor - eğer/else, döngüler varsa, içindeki her şey - olayın gerçekleşip gerçekleşmediğine bakılmaksızın - sizin içinizdedir. Test etmek ve burada yayınlamayı kolaylaştırmak için, bu sorunu da içeren basit bir program yazdım.Javascript: Fonksiyonlar onclick/onsubmit yerine sayfa yükleme çağrılıyor
HTML:
<button id="test">Test</button>
JavaScript: sayfası yüklendiğinde (window.onload) ve uyarı zaman açılır gerekirken
Anladığım kadarıylafunction init(){
document.getElementById("test").onclick = alert("hello");
}
window.onload = init;
, init fonksiyonu çağrılmalıdır "test" kimliğine sahip tuşa tıklanır (onclick). Gerçekte olan şey, sayfanın yüklenmesinden hemen sonra uyarının ortaya çıkmasıdır ve düğmeye basarsam tekrar açılır.
Düşüncelerim, JS'nin yürütüldüğü sırayla ilgili bazı yanlış varsayımlar yaptım, ancak bunun ne olduğunu düşünemiyorum. Bu konuda biraz ışık tutabilir mi? Doğru değil
Başka bir deyişle: 'x = alert()' şunu belirtir: 'x',' alert() 'statüsünün döndürülen değeridir. Ve iade edilen değer nedir? Öğrenmek için onu uygulayalım - ve bu, yürütmenin gerçekleştiği yer! – Xufox
Cevap verdiğin için teşekkürler! Aslında bu mantıklı. Ancak, üst işlevde kullanmak istediğim tetiklenen işlev tarafından kullanılacak bir değişkeni nasıl geçirebilirim? Yoksa sadece global bir değişken kullanabilir miyim? –
İşlev çağrısını kendisini bir işleve sarmanız gerekir, örneğin: onclick = function() {myFunction (myVariable); }; 'aynı kapsamda olacak – mattytommo