किसी एक कार्य को परिभाषित कैसे कर सकता है जो जावास्क्रिप्ट में एक दूसरे को कॉल करता है ताकि जेएस-लिंट शिकायत न करे कि 'फैक्टोरियल' का उपयोग इसे परिभाषित करने से पहले किया जा रहा है?जावास्क्रिप्ट फ़ंक्शंस के बीच परिपत्र संदर्भ
function factorial1(n) { return factorial(n); }
function factorial(n) { return n === 0 ? 1 : n * factorial1(n - 1); }
ऐसा लगता है कि कोई मान्य आदेश नहीं है जो जेएसलिंट को संतुष्ट करेगा। (एक दूसरे में एम्बेड किया जा सकता है, लेकिन यह उन कार्यों के संग्रह के लिए एक दुःस्वप्न होगा जो सभी एक-दूसरे को कॉल करते हैं)।
निश्चित रूप से यह भाषा सही ढंग से संभाला जाता है? क्या यह जेएसलिंट में बस एक बग है? (इस प्रश्न का उत्तर कहीं दिया जाना चाहिए, लेकिन मुझे यह नहीं मिल रहा है!)
शायद आपके पास 'n === 0 था? 1: ... '। साथ ही, क्या काम नहीं करता है (तार्किक त्रुटि को छोड़कर मैंने पहले ही बताया है)? – Dogbert
>> निश्चित रूप से यह भाषा द्वारा सही तरीके से संभाला जाता है? आम तौर पर आपका पृष्ठ अप्रतिबंधित हो जाता है और ब्राउज़र आपको पॉपअप अलर्ट फेंकता है जो आपको स्क्रिप्ट को रोकने या इसे जारी रखने के लिए कहता है। – mohkhan
@ डॉबर्ट हां, आपका संपादन सही है। लेकिन असली मुद्दा यह है कि जेएसलिंट शिकायत करता है कि परिभाषित होने से पहले 'फैक्टोरियल' संदर्भ दिया जा रहा है। –