2013-11-04 10 views
18

मैं JSHint साथ मेरी जावास्क्रिप्ट की समीक्षा कर रहा हूँ, और यह हमेशा एक त्रुटि देता है कह रही है कि एक समारोह इस्तेमाल कभी नहीं किया है। खैर, यह पूरी तरह से सच नहीं है।JSHint "myfunction परिभाषित किया गया है, लेकिन इस्तेमाल कभी नहीं"

मैं बाहरी लिंक (<script src="myJs.js"></script>) द्वारा प्रोजेक्ट इंडेक्स पर अपने जावास्क्रिप्ट को एकीकृत कर रहा हूं, और इंडेक्स पर मैं वास्तविक फ़ाइल लिंक के बाद myJs.js फ़ाइल पर अपने कार्यों को कॉल करता हूं। तो यह सब इस तरह दिखता है:

<script src="myJs.js"></script> 
<script> 
myFunction(); 
</script> 

कारण है कि मैं वास्तविक दस्तावेज़ पर और myJs.js फ़ाइल में नहीं मेरी कार्यों कहते हैं क्योंकि मैं इसे में चल रहे कुछ पीएचपी कार्यों की जरूरत है, और मैं उन्हें कॉल करने की आवश्यकता है मेरी अनुक्रमणिका फ़ाइल से।

समस्या है कि यहाँ JSHint एक हानिकारक है, लेकिन कष्टप्रद त्रुटि देता है, कह रही है कि "myfunction परिभाषित किया गया है, लेकिन इस्तेमाल कभी नहीं किया है।" क्या यह पता नहीं है कि मेरे फ़ंक्शन को बाद में मेरे सूचकांक में बुलाया जा सकता है? इसे कैसे हल किया जा सकता है? क्या मुझे बस इसे अनदेखा करना चाहिए?

+0

उपकरण JSHint की तरह अपने निर्णय करने में आप _support_ चाहिए, तो आप के लिए उन्हें _make_ नहीं। आप पहले से ही _know_ कि एक त्रुटि संदेश केवल के कारण उत्पन्न होती है कि कैसे आप अपनी स्क्रिप्ट का आयोजन किया है, तो हाँ, ऐसा करने के लिए स्मार्ट बात यह की अनदेखी करने के लिए होगा। (_Really_ स्मार्ट उस निष्कर्ष पर पूछे बिना पूछेगा, और यह पता लगाएगा कि आपको स्वचालित उपकरण के लिए _listen_ को "कोई फर्क नहीं पड़ता" है।) – CBroe

+3

किसी त्रुटि को अनदेखा करना कभी भी अच्छा विचार नहीं है, भले ही आप जानते हों कि यह एक अवैध है। JSHint दस्तावेज़ों को देखने के लिए बेहतर और देखें कि क्या आप इसे किसी भी तरह से बता सकते हैं कि आप जानते हैं कि आप इस विशिष्ट मामले में क्या कर रहे हैं। आप बस इसे अनदेखा करते हैं, कितना समय लग जब तक आपके पास 10-15 त्रुटियों हमेशा ऊपर दिखा रहा है कि आप "पता काम कर रहे हैं" और फिर असली लापता शुरू कर देंगे? –

+0

@ त्रुटियों के इस प्रकार पर कार्ल-JohanSjögren JSHint प्रलेखन तो यह बिल्कुल अलग (वास्तव में क्या मैं के लिए देख रहा हूँ नहीं) मदद नहीं करता है, त्रुटि का मूल समझा से, बहुत विस्तृत नहीं है। – gespinha

उत्तर

27

myJs.js के शीर्ष पर आप अपने फ़ंक्शन नाम के साथ exported declaration जोड़ने का प्रयास कर सकते हैं, ऐसा कुछ।

/* exported myFunction */ 

यह आपकी चेतावनी को चुप कर देना चाहिए।

संबंधित मुद्दे

 संबंधित मुद्दे