पहले उदाहरण के लिए निश्चित रूप से उपयोग का मामला है। यदि आपके पास एक ही पृष्ठ पर लोड की गई अन्य जेएस लाइब्रेरी/स्क्रिप्ट हैं, तो इस बात की कोई गारंटी नहीं है कि वे $
चर को ओवरराइट नहीं कर रहे हैं। (यह बहुत आम है जब आपके पास एक ही पृष्ठ पर प्रोटोटाइप और jQuery है)।
तो यदि प्रोटोटाइप $
का उपयोग कर रहा है, तो आपको किसी भी समय jQuery के साथ काम करना चाहते हैं, तो आपको jQuery
का उपयोग करना होगा। यह काफी बदसूरत प्राप्त कर सकते हैं:
jQuery(function(){
jQuery('a', '#content').bind('click', function(){
if(jQuery(this).attr('href') == 'www.google.com')
{
alert("This link goes to Google");
jQuery(this).addClass('clicked'));
}
});
})
, ध्यान रखें कि हम $
उपयोग नहीं कर सकते क्योंकि है कि वैश्विक दायरे में प्रोटोटाइप से एक विधि है।
लेकिन अगर आप इसे इस के अंदर लिपटे ..
(function($){
$(function(){
// your code here
});
})(jQuery);
$
jQuery पुस्तकालय के अंदर संदर्भ वास्तव में हैं अभी भी बाहर की दुनिया में प्रोटोटाइप की चर्चा करते हुए, जबकि!यह आपके कोड को साफ़ रखने में मदद कर सकते हैं:
(function($){
$(function{}(
jQuery('a', '#content').bind('click', function(){
if(jQuery(this).attr('href') == 'www.google.com')
{
alert("This link goes to Google");
jQuery(this).addClass('clicked'));
}
});
));
})(jQuery);
यह jQuery एक्सटेंशन के साथ एक आम पैटर्न सुनिश्चित करने के लिए कि वे हमेशा jQuery वस्तु से जुड़ जाते हैं, लेकिन $
का उपयोग कर कोड सुथरा रखने के लिए लिखा जा सकता है।
स्रोत
2012-03-08 02:56:07
FYI करें - वे बराबर नहीं कर रहे हैं। – Hamish