2010-08-18 12 views
18

मैंने देखा कि answered question है कि $(document).ready(function(){}) और $(function(){}) (वहां नहीं है) का उपयोग करने के बीच कोई अंतर है या नहीं, लेकिन मेरा प्रश्न यह है कि पसंदीदा वाक्यविन्यास और क्यों है।

मैं लगभग एक वर्ष के लिए jQuery का उपयोग कर रहा हूं और हमेशा $(document).ready() वाक्यविन्यास का उपयोग किया है; लेकिन हाल ही में एसओ और कुछ अन्य स्थानों पर, मैंने $(function()) वाक्यविन्यास को और अधिक उपयोग किया है।

क्या कोई पसंदीदा वाक्यविन्यास है जिसका आप उपयोग करते हैं और आप इसका उपयोग क्यों करते हैं? क्या आप कुछ पात्रों को बचाने के लिए पूरी तरह से छोटे वाक्यविन्यास का उपयोग करते हैं?

बस थोड़ा और पृष्ठभूमि, मैं वर्तमान में जमीन से एक नया ऐप शुरू कर रहा हूं और कुछ सामान्य रूप से स्वीकार्य सर्वोत्तम प्रथाओं और मानकों को जगह में रखना चाहता हूं।

अग्रिम धन्यवाद!

उत्तर

23

अतिरिक्त टाइपिंग के बावजूद मैं $(document).ready(function(){}); का उपयोग करता हूं। मैं बस अपने कोड में यह याद दिलाना पसंद करता हूं कि कोड कब चल रहा है, और उन वर्गों को खोजने के लिए 'तैयार' की खोज करने की क्षमता के लिए। यह वही कार्यक्षमता है, और मैं आमतौर पर शॉर्टकट लेता हूं, लेकिन इस मामले में मैं नहीं करता हूं।

+2

पठनीयता कुछ तरीके से करने का एक अच्छा कारण है, अन्य सभी चीजें – hvgotcodes

+0

के बराबर होती हैं इसलिए मैंने दस्तावेज़ का उपयोग किया है बहुत लंबा, क्योंकि मुझे पता है कि क्या हो रहा है। धन्यवाद! –

10

आप या तो $(function() {})just a shortcut का उपयोग कर सकते हैं जो बिल्कुल एक ही चीज़ है।

व्यक्तिगत रूप से, मैं $(function() { }) पसंद करते हैं क्योंकि ... अच्छी तरह से, मैं इसे एक बहुत टाइप करें, और यह बहुत जल्दी है।

मैं क्यों $(document).load() काम नहीं करता है के सवाल का एक बहुत देखते हैं और क्योंकि इस तरह वे सही घटना उपयोग नहीं कर रहे ... मैं भी लगता है $(func) कुछ अस्पष्टता बाहर, मुझे पर ले जाता है। जो कुछ भी आप पसंद करते हैं, आप को स्पष्ट करें और आपकी टीम यहां सबसे अच्छी पसंद है।

+0

धन्यवाद। मैं परिप्रेक्ष्य की सराहना करता हूं। –

1

मुझे लगता है कि $(function() {}); बस इतना आसान है और कुछ अक्षर बचाता है। जैसा आपने कहा, इससे कोई फर्क नहीं पड़ता। मुझे लगता है कि आपके जावास्क्रिप्ट के लिए आपके डिजाइन पैटर्न के बारे में चिंता करने की अधिक महत्वपूर्ण चीजें हैं। वे प्रदर्शन, पठनीयता और सादगी को प्रभावित कर सकते हैं।

+4

मैंने "आपके डिजाइन पैटर्न के बारे में चिंता करने" को बहुत सारे कोड को पेंच किया है ... –

2

मेरा मानना ​​है कि jQuery के लेखकों ने $(document).ready(function(){...}); का उपयोग करने की अनुशंसा की है क्योंकि यह आपके कोड को अधिक पारदर्शी बनाता है।

+0

जब आप 'अधिक पारदर्शी' कहते हैं, तो क्या आपका मतलब यह है कि यह स्पष्ट है कि आप किस पर काम कर रहे हैं (इस मामले में दस्तावेज़ तत्व)? धन्यवाद!! –

+1

बिल्कुल। JQuery के वाक्यविन्यास के बारे में महान चीजों में से एक इसकी स्पष्टता है। '$ (दस्तावेज़) का उपयोग करके .ready (function() {...} 'यह स्पष्टता शुरुआत से ही बनाए रखा जाता है। मैं समझता हूं कि' $ (फ़ंक्शन() {}) का उपयोग करके' कम कीस्ट्रोक की आवश्यकता होती है, लेकिन सभी के साथ कोडा, एस्प्रेसो और टेक्स्टमैट जैसे कार्यक्रमों द्वारा प्रदान किए जाने वाले कस्टमाइज करने योग्य शॉर्टकट्स, मुझे नहीं लगता कि इन शुरुआती कीस्ट्रोक को कभी भी टाइप करना होगा। – Squirkle

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