2010-06-08 6 views
12

जैसा कि मैं जावास्क्रिप्ट लिख रहा हूं, मुझे हमेशा कुछ मूलभूत मूलभूत विशेषताओं की याद आ रही है जो जावास्क्रिप्ट के पास नहीं है। तो क्या ऐसी कोई लाइब्रेरी है जो जावास्क्रिप्ट को ट्रिम, स्पिंटफ, str.endwith और आदि के रूप में ऐसी सुविधाएं लाएगी?जावास्क्रिप्ट सहायक लाइब्रेरीज़? कोई डोम या AJAX सामान

मैंने अभी भी उन कार्यों को कई बार लिखा है और मैं उन्हें अपने पुराने कोड से कॉपी/पेस्ट करने के थक गया हूं। कुछ पुस्तकालय होना अच्छा लगेगा, जो एक ही स्थान पर लागू और परीक्षण किए गए हैं।

नोट कि मैं AJAX/DOM-पुस्तकालयों जैसे jQuery या Dojo और इस तरह के बारे में बात नहीं कर रहा हूं। मुझे पता है कि उन पुस्तकालयों में कुछ विशेषताओं को शामिल किया गया है जिन पर मैं बात कर रहा हूं, लेकिन सभी नहीं। और मैं एक पर्यावरण स्वतंत्र पुस्तकालय भी लेना चाहता हूं ताकि सर्वर लाइफ जावास्क्रिप्ट के साथ एक ही लाइब्रेरी का उपयोग किया जा सके।

अब तक की सर्वश्रेष्ठ लाइब्रेरी php.js है, लेकिन मुझे यह पसंद नहीं है कि यह वैश्विक नामस्थान को प्रदूषित कैसे कर रहा है। मैं भी बहुत शौकीन नहीं हूं कि PHP-फ़ंक्शंस का नाम कैसे दिया जाता है।

संपादित

के रूप में पता चला कि यह विस्तार करने के लिए बहुत आसान है मैं Underscore.js साथ निपटाने कर रहा हूँ। इसलिए मैंने इसे स्ट्रिंग फ़ंक्शंस के अपने सेट के साथ बढ़ाया। यहाँ देखें:

https://github.com/epeli/underscore.string

+3

+1 PHP.js. पसंद नहीं है इसके लिए – SLaks

उत्तर

11

Underscore पर एक नज़र डालें।


दूसरी ओर, क्या आप चाहते हैं काफी सरल लगता है:

function endsWith(str, end) { 
    return String(str).lastIndexOf(end) === str.length - end.length; 
} 

function trim(str) { 
    return String(str).replace(/^\s\s*|\s\s*$/g, ''); 
} // btw, should really be checking for String.prototype.trim 

// ... and google "JavaScript sprintf" for a sprintf implementation 
+0

+1, मैंने अभी तक इसके बारे में कभी नहीं सुना होगा लेकिन यह बहुत अच्छा लग रहा है। –

+0

अंडरस्कोर लाइब्रेरी होगी जिसे मैं ढूंढ रहा हूं यदि इसमें कुछ स्ट्रिंग मैनिपुलेशन हेल्पर्स शामिल होंगे। या शायद मैं इसे कुछ स्ट्रिंग विशिष्ट पुस्तकालय के साथ उपयोग कर सकता हूं ... – Epeli

+0

ओपेरा, फ़ायरफ़ॉक्स और क्रोम के नए संस्करणों में सभी एक स्ट्रिंग प्रोटोटाइप ट्रिम विधि है। – kennebec

3

मैं किसी भी पुस्तकालयों कि लोकप्रिय AJAX/डोम पुस्तकालयों के अलावा अन्य तरह के कार्यों प्रदान करते हैं के बारे में पता नहीं कर रहा हूँ। क्यों नहीं hand pick the functions आपको PHP.js से चाहिए और उन्हें अपने नामस्थान में जोड़ें? आप उन्हें जो भी चाहें उसका नाम बदल सकते हैं।

0

जावास्क्रिप्ट सबस्ट्रिंग तुम्हारी मदद करेगा ... अगर आप इस तरह भी पसंद नहीं, मैं नियमित अभिव्यक्ति का सुझाव देंगे ...

अधिकांश समय, जब मैं की जरूरत है कि एक बहुत ही सरल पेज में मूल बातें काम करता है, मैं अपने सबसे अच्छे दोस्त regex ...

6

आप Google Closure Library की जाँच कर सकते हैं। यह निम्न पैकेज प्रदान करता है:

array (1) 
asserts (1) 
async (3) 
base.js 
color (3) 
crypt (5) 
cssom (2) 
datasource (8) 
date (4) 
debug (16) 
demos (6) 
deps.js 
disposable (1) 
dom (28) 
editor (15) 
events (18) 
format (3) 
functions (1) 
fx (12) 
gears (14) 
graphics (25) 
history (1) 
i18n (15) 
iter (1) 
json (1) 
locale (16) 
math (15) 
memoize (1) 
module (10) 
net (29) 
object (1) 
positioning (9) 
proto (2) 
proto2 (10) 
pubsub (1) 
reflect (1) 
spell (1) 
string (3) 
structs (18) 
style (2) 
testing (37) 
timer (1) 
ui (133) 
uri (2) 
useragent (9) 

बंद पुस्तकालय खुला स्रोत है, और Gmail, नक्शे, डॉक्स, साइटों, किताबें, रीडर, ब्लॉगर, कैलेंडर और पिकासा में गूगल should be using it

आप त्वरित पहली छाप पाने के लिए Array और String पैकेजों को देखना चाह सकते हैं।

4

में एक सूची नहीं है। यह जावास्क्रिप्ट कोड को बढ़ाने पर ध्यान केंद्रित करने वाला एक बहुत ही मॉड्यूलर लाइब्रेरी है, न केवल ब्राउज़र-विशिष्ट जावास्क्रिप्ट पर्यावरण (डीओएम, AJAX, आदि)।

+0

वास्तव में, डाउनलोड स्क्रीन पर आप केवल स्ट्रिंग और ऐरे मॉड्यूल का चयन कर सकते हैं, के लिए उदाहरण। – seanmonstar

0

मैं गारिस से सहमत हूं।यहां एक पृष्ठ है जो जेएस स्ट्रिंग ऑब्जेक्ट फ़ंक्शंस दिखाता है।

http://www.w3schools.com/jsref/jsref_obj_string.asp

ऊपर की जानकारी और इस तरह आप ऊपर वाले का उपयोग कर अपने स्वयं के कार्यों में लिख सकते हैं का उपयोग करना: उदाहरण के लिए। आप एक स्ट्रिंग आप कुछ इस तरह करना होगा पात्रों की एक निश्चित राशि की अनुमति के लिए ट्रिम करने के लिए चाहते हैं (यह एक elipsis कहते हैं, तो आप निश्चित रूप से है कि निकाल सकते हैं):

String.prototype.trim= function(num){ 
    var str = this; 
    if (!num) { 
     num = 20; 
    } 
    if (str.length > num) { 
     str = str.slice(0, num); 
     str += '...'; 
    } else { 
     str = this + ''; 
    } 
    return str; 

} 
alert('this string needs to be shorter'.trim(10)); 

आउटपुट होगा: इस strin ...

+0

क्षमा करें, उपरोक्त मेरी कटाई विधि है। जेएस में ट्रिम करने की वास्तव में कोई ज़रूरत नहीं है, (अगर मैं गलत हूं तो मुझे सही करें) लेकिन जेएस स्ट्रिंग की शुरुआत या अंत में व्हाइटस्पेस की अनुमति नहीं देता है। – UpHelix

+0

हालांकि, \ b एक स्ट्रिंग और \ s मैचों के व्हाइटस्पेस की शुरुआत या अंत में किसी चरित्र से मेल खाता है। – UpHelix

1

आप Mootools Server देख सकते हैं।

यह एक स्वनिर्धारित MooTools ब्राउज़रों के लिए किसी भी घटक रिश्तेदार के बिना का निर्माण होता है। कक्षा, कोर और मूल एक्सटेंशन शामिल हैं। यह विशेष रूप से सर्वर-साइड वातावरण जैसे v8cgi, Rhino या स्पाइडरमोन्की के रूप में बनाया गया है।

यह नहीं पता कि यह आपके उद्देश्य के अनुरूप है, लेकिन यह जाने का एक तरीका है।

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