2010-08-20 15 views
57

संभव डुप्लिकेट:
what is difference of $(function(){ }); and $(document).ready(function() { }) ;?

क्या $(document).ready(function(){}) के बीच मतभेद बनाम $(function(){}) और चाहिए मैं इसे $ फॉर्म में लिखें या नया jQuery(document).ready(function(){ }) रास्ता?

यदि मेरे पास google api load है एड google.setOnLoadCallback(function() { एक बेहतर तरीका है? या यह वही बात है?

मैं भी देखा है लोगों $(function($){})

का उपयोग किसी को मेरी मदद कर सकते, मैं हार रहा हूँ। जब मैं कोड लिखता हूं तो मुझे पता नहीं चलता है। मुझे लगता है मुझे पुस्तकालय के माध्यम से पढ़ना चाहिए। क्या सभी को एक ही चीज़ के रूप में परिभाषित किया जा रहा है?

+0

सटीक डुप्लिकेट, http://stackoverflow.com/questions/2662778/what-is-difference-of-function-and-document-readyfunction – Starx

उत्तर

79

दो तरीके बराबर हैं मैं व्यक्तिगत रूप से दूसरे को पसंद करते हैं, $(function() {}); यह सिर्फ दस्तावेज़ तैयार करने के लिए एक shortcut है।

new jQuery(document)... निर्माण के बारे में, आपको वास्तव में new ऑपरेटर का उपयोग करने की आवश्यकता नहीं है, jQuery यदि आप नहीं करते हैं तो आंतरिक रूप से इसका उपयोग करेंगे।

तर्क यह है कि ready हैंडलर फ़ंक्शन प्राप्त करता है, jQuery ऑब्जेक्ट स्वयं ही है।

यह काफी उपयोगी है जहाँ आप अन्य पुस्तकालयों के साथ संगतता मोड में jQuery चलाने के लिए है उदाहरण के लिए:

jQuery(function ($) { 
    // use $ here 
}); 

कॉलबैक अंदर $ तर्क यह है कि समारोह में यह भी दिखाई दे सकता बाहर, jQuery वस्तु के पास भेजेगा प्रोटोटाइपजेएस जैसी दूसरी लाइब्रेरी।

+2

मुझे लगता है कि वह नए तरीके से 'के रूप में नया मतलब JQuery (दस्तावेज़) ... –

+0

jQuery 3.0 के रूप में, केवल '$ (फ़ंक्शन() {})' वाक्यविन्यास की अनुशंसा की जाती है; अन्य वाक्यविन्यास अभी भी काम करते हैं लेकिन बहिष्कृत हैं। Https://api.jquery.com/ready/ देखें – LazerBass

25
  • $(document).ready(function() {});
  • $(function() {});

दो बयान वास्तव में ठीक उसी रहे हैं। तो दूसरा कॉल सिर्फ पहले के लिए एक शॉर्टकट है।

$ नोटेशन फिर से jQuery के लिए एक शॉर्टकट है। यदि आपने अपनी वेबसाइट में jQuery लोड किया है तो आप दोनों का उपयोग कर सकते हैं। विशेष रूप से यदि आप अन्य जेएस लाइब्रेरी लोड नहीं करते हैं, जो शायद $ साइन का भी उपयोग कर सकते हैं। इससे हमें आपके उल्लिखित

(function($){ 
}(jQuery)); 

कॉल पर लाता है। यह सुनिश्चित करने के लिए यहां किया गया है कि आपके बनाए गए फ़ंक्शन अभिव्यक्ति के भीतर $jQuery ऑब्जेक्ट के संदर्भ संदर्भ। तुम्हें पता है, कॉल कर रहे हैं कि गुमनाम समारोह (जो $ पैरामीटर के रूप में है) और में jQuery वस्तु गुजरती हैं।

2

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

http://www.authenticsociety.com/blog/jQueryPluginTutorial_Beginner

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