2010-04-18 7 views
7

मुझे लगता है कि jquery, YUI ... आदि जैसे सबसे प्रसिद्ध जावास्क्रिप्ट पुस्तकालयों में कई उच्च स्तरीय फ़ंक्शन गायब हैं। एक उदाहरण के रूप में स्ट्रिंग मैनिपुलेशन लेना, शुरू होता है, समाप्त होता है, इसमें, एलटीआरएम, आरटीआरएम, ट्रिम, isNullOrEmpty ... आदि है। ये कार्य वास्तव में बहुत आम हैं।क्या कोई जावास्क्रिप्ट लाइब्रेरी है जिसमें बहुत उच्च स्तर के आमतौर पर उपयोग किए जाने वाले कार्यों का समृद्ध सेट होता है?

मुझे पता है कि अगर वहाँ एक जावास्क्रिप्ट पुस्तकालय है कि (सहित, लेकिन स्ट्रिंग परिवर्तन तक सीमित नहीं) इन अंतराल भरता है की एक जावास्क्रिप्ट पुस्तकालय/प्लगइन मौजूद चाहते हैं?

यह अगर पुस्तकालय प्रोटोटाइप पर हावी नहीं होता बहुत अच्छा होगा।

+0

स्ट्रिंग प्रोटोटाइप में इसे क्यों न जोड़ें? – cletus

+2

@cletus क्योंकि यह अन्य लोगों द्वारा लिखित पुस्तकालयों/कोडों के साथ संघर्ष हो सकता है। – bobo

उत्तर

9

underscore.js पर एक नजर डालें (दुर्भाग्य से, कोई स्ट्रिंग परिवर्तन है, लेकिन अन्य अच्छी चीजें के बहुत सारे)।

3

उन स्ट्रिंग कार्यों के अधिकांश स्ट्रिंग वस्तु जैसे

var myString = 'hello world'; 

myString.indexOf('hello') == 0; //same as startsWith('hello'); 

आप अन्य कार्यों में इन कार्यों लपेट सकता है यदि आप चाहें तो साथ जुड़े अन्य विधियों का उपयोग उपलब्ध हैं। मुझे लगता है कि स्ट्रिंग ऑब्जेक्ट में प्रोटोटाइप जोड़ने का तरीका होगा और आपके द्वारा पाई जाने वाली किसी भी लाइब्रेरी शायद वैसे भी उस मार्ग पर जायेगी।

+0

हां, वे स्ट्रिंग ऑब्जेक्ट से जुड़े अन्य तरीकों का उपयोग कर उपलब्ध हैं लेकिन यह उच्च स्तर पर्याप्त नहीं होगा। – bobo

2

ms ajax core पुस्तकालय आदि उन स्ट्रिंग तरीकों के सभी के साथ ही तारीख के तरीकों में शामिल है मूल रूप से जे एस के लिए .net लाने में एक बहादुर प्रयास।

आप पूरे एमएस अजाक्स js ढेर, बस कोर फ़ाइल को लोड करने की जरूरत नहीं है।

1

यह सब आसानी से रैपर के साथ लागू किया गया है अगर आप प्रोटोटाइप

var StringWrapper = (function(){ 
    var wrapper = { 
     string: null, 
     trim: function(){ 
      return this.string.replace(/^\s+|\s+$/g, ""); 
     }, 
     lTrim: function(){ 

     } 
    }; 

    return function(string){ 
     wrapper.string = string; 
     return wrapper; 
    }; 
})(); 

StringWrapper(" aaaa bbbb ").trim(); /// "aaaa bbbb" 

कार्यों केवल एक बार बनाए जा रहे हैं, इसलिए इसकी काफी कुशल विस्तार करने के लिए नहीं करना चाहती। लेकिन एक सहायक ऑब्जेक्ट पर एक रैपर का उपयोग करने से एक अतिरिक्त फ़ंक्शन कॉल होता है।

+1

क्या आप समझा सकते हैं कि यह लाइन किस लिए है: 'lTrim: function() {...'? – FellyTone84

1

underscore.string लगता है कि यह आपकी आवश्यकताओं के अनुरूप कर सकते हैं। यहाँ वे इसे कैसे का वर्णन है:

Underscore.string तार के साथ सहज हेरफेर, Prototype.js, Right.js, अंडरस्कोर और सुंदर रूबी भाषा से प्रेरित Underscore.js के लिए विस्तार के लिए जावास्क्रिप्ट पुस्तकालय है।

Underscore.string आपको कई उपयोगी फ़ंक्शंस प्रदान करता है: पूंजीकरण, साफ, शामिल, गिनती, बचाना HTML, unescapeHTML, डालें, splice, startWith, endwith, titleize, trim, truncate और इसी तरह।

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

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