Monday, 15 July 2013

jquery - Why does JSLint say "anonymous function does not always return a value" for an event handler? -


जब मैं यह कोड:

  $ (document) .keydown (function (e) {If ($ ("$ chaptersfunctionality")। लंबाई! == 0) {if (e.keycode == '13') वापसी झूठी; यदि ($ ("# kelvin")। Val () === "" एट्रि ("शीर्षक") === "सभी चरण दिखाएं") {स्विच (ई.एच.आई.आई.) (केस) 39: यदि ((पर्सिएन्ट (चालू एन्कर) +1) & lt; ParseInt (मैक्सी)) विस्तारित मी (++ वर्तमान एन्कर); तोड़; मामले 37: यदि (वर्तमान एन्कर्र> 0) विस्तारित मी (वर्तमान एन्कर -1); ब्रेक;}}}});  

... मुझे काफी चेतावनियां मिलती हैं, जिनमें से अधिकांश मैं छाँटता हूं, लेकिन इसने मुझे स्टम्प्ड किया है: " अनाम फ़ंक्शन हमेशा एक मान वापस नहीं करता "

ऐसा क्यों कहते हैं? एक ईवेंट हैंडलर एक अनाम फ़ंक्शन नहीं है, है ना? और यह वैसे भी कोई मूल्य नहीं लौट रहा है, है ना? तो इसका क्या मतलब है, और क्या होगा [मॉल, पीएसी] इनेटर लि linter?

जेएसएलint आपको चेतावनी देता है किसी भी समय किसी फ़ंक्शंस में कुछ शाखाएं होती हैं जो एक वापसी और अन्य शाखाएं जो return का सामना किए बिना समाप्त होती हैं। JSLint सोचता है कि किसी फ़ंक्शन को हमेशा स्पष्ट रूप से एक मान वापस करना चाहिए या कभी स्पष्ट रूप से कोई मान वापस नहीं करना चाहिए एक ऐसा समारोह जो कभी-कभी स्पष्ट रूप से एक मान देता है, वह स्वयं को चेतावनी प्राप्त करता है आपका कोड एक मामले में वापस लौटा करता है और अन्यथा वापसी का उपयोग कभी नहीं करता है।

यदि आप JSLint को शांत करना चाहते हैं, तो आप एक रिटर्न

अब, मेरी राय के लिए:

जब ईवेंट श्रोता की बात आती है, तो यह 100 है स्वीकार्य मूल्य केवल कभी कभी वापस करने के लिए ब्राउज़र का आंतरिक इंजन जो आपके ईवेंट श्रोता का उपयोग करता है return मान पहले से एक रिटर्न मान या रिटर्न मान की कमी को स्वीकार करने के लिए क्रमादेशित है।

क्योंकि किसी मान को वापस नहीं करने का अभ्यास एक घटना श्रोता पूरी तरह से सामान्य है, यह आपके कोड की पठनीयता को नुकसान नहीं पहुंचाता है। मुझे लगता है कि आप इस मामले में JSLint को सुरक्षित रूप से अनदेखा कर सकते हैं।


No comments:

Post a Comment