क्या अंडरस्कोर। Js और jQuery एक दूसरे के पूरक हैं? [बन्द है]


92

मैं सिर्फ जावास्क्रिप्ट सीखना शुरू कर रहा हूं, और अंडरस्कोर.ज और jQuery पर ठोकर खाई । अंडरस्कोर वास्तव में अच्छा लग रहा है, लेकिन मुझे आश्चर्य है कि अगर jQuery पहले से ही अंडरस्कोर के समान फ़ंक्शन प्रदान नहीं करता है। तो, क्या दोनों का उपयोग करना उचित है?


6
उनके होम पेज पर पहला पैराग्राफ कहता है - "यह jQuery के tux और Backbone.js के सस्पेंडर्स के साथ जाने के लिए टाई है।"
अनुराग

12
हां, लेकिन मुझे लगता है कि ऑप "सप्लीमेंट" शब्द के साथ संकेत कर रहा है कि चूंकि कई फ़ंक्शन ओवरलैप होते हैं, क्या दो रूपरेखाएं वास्तव में एक साथ समझ में आती हैं। उदाहरण के लिए, $ .each और _.each के बीच का अंतर इतना सूक्ष्म होता है कि किसी के भी बीच घुलने-मिलने की कोशिश करने के दौरान किसी को भी भ्रम हो जाता है।
बिशपज

1
यदि आप अंडरस्कोर पसंद करते हैं, तो आपको वास्तव में lodash.com
नील

जवाबों:


78

अंडरस्कोर साइट से लिया गया :

यह jQuery के tux, और Backbone.js के सस्पेंडर्स के साथ जाने के लिए टाई है।

अंडरस्कोर डेटा हेरफेर के लिए अधिक अनुकूल है और जावास्क्रिप्ट के लिए कई रूबी तरीकों को लाता है। कुछ क्रॉसओवर है, लेकिन उन्हें पारस्परिक रूप से अनन्य बनाने के लिए पर्याप्त नहीं है।


53
यह चौखटों का एक बहुत ही कस्टम सूट है: P
अनुराग


68
  • jQuery आपके अधिकांश डोम हेरफेर का ध्यान रखेगा
  • backbone.js आपको अपने सभी कोड को व्यवस्थित करने में मदद करेगा और आपके js एप्लिकेशन को कुछ संरचना (mvc पैटर्न) देगा
  • underscore.js आपको वास्तव में उपयोगी निम्न-स्तरीय उपयोगिता देगा। जब तक मैं वास्तव में js ऐप्स में नहीं आ गया, तब तक मुझे इस लाइब्रेरी की आवश्यकता नहीं होगी (यह भी backbone.js के लिए एक आवश्यकता है)

39

डेटा / कोड को संसाधित करने के लिए अंडरस्कोर कुल 60 फ़ंक्शन प्रदान करता है। यह सहमति व्यक्त की गई है कि कई प्रकार की कार्यक्षमताएं अन्य पुस्तकालयों जैसे jQuery, प्रोटोटाइप या script.aculo.us में मौजूद हैं। उदाहरण के लिए, प्रत्येक, मैप, फाइंड, फिल्टर या ऐरे जैसे कार्य jQuery में मौजूद हैं। ये अंडरस्कोर में भी हैं। यह पुस्तकालय को jQuery से स्वतंत्र बनाने के लिए है।

अंडरस्कोर का उपयोग कब करें?:

वर्तमान में, यह एक पृष्ठ जावास्क्रिप्ट वेब ऐप बनाने के लिए MVC आर्किटेक्चर का उपयोग करने के लिए Backbone.js के साथ व्यापक रूप से उपयोग किया जाता है। अंडरस्कोर की सबसे महत्वपूर्ण क्षमता। जेएस टेंपलेटिंग की क्षमता है (जो कि jQuery नहीं कर सकता है)। इस पुस्तकालय में कई अन्य उपयोगी कार्य हैं, जो अन्य जावास्क्रिप्ट पुस्तकालयों से स्वतंत्र हैं।

अंडरस्कोर द्वारा प्रदान किए गए कार्यों की सूची नीचे देखें:

संग्रह: प्रत्येक, नक्शा, कम करें, कम करें, ढूंढें, खोजें, फ़िल्टर करें, अस्वीकार करें, सभी, कोई भी, शामिल करें, इनवोक, प्लक, अधिकतम, न्यूनतम, सॉर्ट करें, ग्रुप ,y, सॉर्टइंडेक्स, फेरबदल, toAray, आकार

सरणी: पहला, प्रारंभिक, अंतिम, आराम, कॉम्पैक्ट, समतल, बिना, मिलन, अंतर, अंतर, यूनीक, ज़िप, इंडेक्सऑफ, लास्टइंडेक्सऑफ, रेंज

फंक्शन: बाँध, bindAll, memoize, देरी, स्थगित करें, थ्रोटल, debounce, एक बार, के बाद, चादर, तो लिखें

वस्तु: मान, मान, कार्य, विस्तार, चूक, क्लोन, टैप, इस्क्वाल, isEmpty, isElement, isArguments, isFunction, isFring, isNring, isBoolean, isDate, isRegExp, isNaN, isNull, isUndefined

उपयोगिता: noConflict, पहचान, समय, मिश्रण, uniqueId, से बच, टेम्पलेट


3
हाय उमेश, चूंकि _Template केवल 60 अंडरस्कोर कार्यों में से एक है, क्या यह वास्तव में इसे सार्थक बनाने के लिए पर्याप्त है?
टिम पीटरसन 4

@timpeterson, मैं इसे समझता हूं। लेकिन हम केवल _Template का उपयोग नहीं कर रहे हैं, इसके साथ-साथ कई और फ़ंक्शन भी हैं जैसे कि बाइंड, बाइंड एएलएल, प्रत्येक, मैप आदि। हम कई कार्यों का यथासंभव उपयोग कर सकते हैं।
उमेश पाटिल

3
लेकिन बाइंड, प्रत्येक, नक्शा jQuery में हैं इसलिए बेमानी लगता है, है ना?
टिम पीटरसन

2
घटाना (जो jQuery नहीं जोड़ेंगे ) शायद यह सब अपने आप में सार्थक बनाता है!
रॉब ग्रांट

9

यदि आप ओवरलैप के बारे में चिंतित हैं, और आपको JQuery AJAX जैसी चीजों की आवश्यकता नहीं है, तो आप केवल JQuery के चयनकर्ता इंजन का उपयोग करने पर विचार कर सकते हैं, जिसका नाम है Sizzle।

http://sizzlejs.com/

ध्यान दें कि यह सभी परियोजनाओं के लिए नहीं है, सिज़ल और अंडरस्कोर का उपयोग करके आप कुछ JQuery कार्यक्षमता (जैसे AJAX) खो देंगे, आपको यह विचार करने की आवश्यकता है कि आपको वास्तव में अपने विशिष्ट एप्लिकेशन के लिए क्या चाहिए।


2
Projects.jga.me/jquery-builder यह उपकरण आपको अनावश्यक jQuery कोड को निकालने में मदद कर सकता है। इसके अलावा, lodash मॉड्यूल NPM पर उपलब्ध हैं
DigitalDesignDj
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.