2010-08-05 12 views
15

कार्यों को हमेशा कुछ वापस करना चाहिए? मैं अक्सर बहुत ही बुनियादी कार्य करता है जो चीजें हैं जो इस तरह के रूप में बहुत कुछ ऐसा करने के लिए आशुलिपि के रूप में उपयोग किया जाता है लिखें:क्या फ़ंक्शंस हमेशा कुछ (जावास्क्रिप्ट)

function formsAway() { 
    $("#login_form, #booking_form").slideUp(); 
} 

इस समारोह मौजूद होना चाहिए - वहाँ एक बेहतर तरीका है, या इस ठीक है?

उत्तर

17

उन्हें कुछ भी वापस करने की ज़रूरत नहीं है। यदि आप इसे खाली छोड़ देते हैं तो यह केवल 'अपरिभाषित' लौटाता है जो इस मामले में ठीक है क्योंकि आप कभी भी वापसी मूल्य का उपयोग करने का इरादा नहीं रखते हैं। जावास्क्रिप्ट सिंटैक्स बहुत सरल है और जहां तक ​​मुझे पता है कि ऐसे कार्यों और कार्यों के बीच कोई वास्तविक भेद नहीं है जो एक मूल्य ('वापसी' कीवर्ड के अलावा) वापस नहीं करते हैं

2

कार्य करना चाहिए हमेशा कुछ वापस लौटें?

मुझे विश्वास है कि पूरी तरह से समारोह के उपयोग पर निर्भर करता है।

क्या कोई बेहतर तरीका है, या यह ठीक है?

आईएमओ इस प्रकार के कार्यों को लिखना अच्छा होता है जब पुन: प्रयोज्य कोड की कई घटनाएं होती हैं जिन्हें फ़ंक्शन द्वारा प्रतिस्थापित किया जा सकता है ताकि कोड अधिक क्लीनर दिखाई दे। लेकिन केवल कुछ घटनाओं के लिए आप कोड डाल सकते हैं क्योंकि यह इसे फ़ंक्शन के साथ बदलने की बजाय है। आपको भविष्य में अन्य स्थानों में इस समारोह के पुन: उपयोग की संभावनाओं को भी ध्यान में रखना चाहिए।

2

मेरे ज्ञान के लिए, जब तक कि आपको कुछ वापस करने की आवश्यकता न हो, एक फ़ंक्शन को कुछ भी वापस करने की आवश्यकता नहीं होती है।

यह अन्य भाषाओं में भिन्न हो सकता है, लेकिन मैंने कभी जावास्क्रिप्ट में आवश्यक या अच्छी प्रथा नहीं सुना है।

4

सभी जावास्क्रिप्ट फ़ंक्शंस कुछ लौटाते हैं। यदि एक स्पष्ट वापसी छोड़ी जाती है, तो अपरिभाषित इसके बजाय स्वचालित रूप से लौटा दिया जाता है। जब कोई फ़ंक्शन लौटाता है, तो इसका उदाहरण स्मृति से मिटा दिया जाता है, जो किसी भी अन्य चीज को इंगित करता है, तो इसके दायरे में सभी चरों को भी मिटा दिया जाता है। एक मजबूर वापसी मेमोरी प्रबंधन के बिना मैन्युअल रूप से किया जाना होगा।

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