Javascript'te birbirini çağıran bir çift işlev nasıl tanımlanabilir, böylece JS-tint, 'faktöriyel' tanımlanmadan önce kullanıldığından şikayet etmiyor?javascript işlevleri arasında dairesel referanslar
function factorial1(n) { return factorial(n); }
function factorial(n) { return n === 0 ? 1 : n * factorial1(n - 1); }
JSlint'i tatmin edecek geçerli bir sipariş yok gibi görünüyor. (Biri diğerine gömülebilir, ancak bu, hepsi birbirini çağrıştıran işlevlerin toplanması için bir kabus olurdu).
Elbette bu, doğru olarak ele alınır? Bu sadece JSlint'teki bir hata mı? (Bu soru bir yerde yanıtlanmalıdır, ancak bulamıyorum!)
Muhtemelen n === 0? 1: ... '. Ayrıca, ne işe yaramaz (zaten işaret ettiğim mantıksal hata hariç)? – Dogbert
>> Şüphesiz bu dilin hakkıyla ele alınır? Genellikle biraz zaman geçtikten sonra sayfanızı tepkisiz hale gelir ve tarayıcı komut dosyası durdurabilir veya devam etmesine izin verdin ya soran bir pop-up uyarısı yukarı atar. – mohkhan
@dobert evet, düzenlemeniz doğru. Ancak asıl mesele, JSlint'in 'faktöriyel' tanımlanmadan önce referans olarak kalmasından şikayet etmesidir. –