2010-10-29 25 views
35

यह यह करने के लिए ठीक है:जावास्क्रिप्ट पहुँच स्ट्रिंग वर्ण

var myString="Hello!"; 
alert(myString[0]); // shows "H" in an alert window 

या यह से किया जाना चाहिए या तो (0) charAt या substr (0,1)? "क्या यह ठीक है" मेरा मतलब है कि यह अधिकांश ब्राउज़रों पर काम करेगा, क्या कोई अन्य अभ्यास अभ्यास है जो अन्यथा कहता है।

धन्यवाद।

उत्तर

35

charAt का उपयोग शायद सबसे अच्छा विचार है क्योंकि यह आपके कोड के इरादे को सबसे सटीक रूप से व्यक्त करता है। एक ही चरित्र के लिए substr पर कॉल करना निश्चित रूप से एक ओवरकिल है।

alert(myString.charAt(0)); 
+0

धन्यवाद, शाऊल। – Francisc

41

एक्सेस करना पात्रों के रूप में एक स्ट्रिंग के संख्यात्मक गुण non-standard prior to ECMAScript 5 and doesn't work in all browsers है (उदाहरण के लिए, यह IE 6 में काम नहीं करता या 7)। जब आपको कोड को गैर-ईसीएमएस्क्रिप्ट 5 वातावरण में काम करना होता है तो आपको myString.charAt(0) का उपयोग करना चाहिए। वैकल्पिक रूप से, अगर आप स्ट्रिंग में वर्णों की एक बहुत तक पहुँचने करने जा रहे हैं तो आप एक स्ट्रिंग में एक सरणी में अपनी split() विधि का उपयोग कर सकते हैं:

var myString = "Hello!"; 
var strChars = myString.split(""); 
alert(strChars[0]); 
+2

गैर मानक टिप्पणी के लिए एक लिंक/संदर्भ जोड़ने के लिए, देखें (कैरेक्टर एक्सेस के तहत): https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String – davin

+0

@ डेविन: धन्यवाद। अब मैं अपने जवाब में उस खंड से जुड़ा हुआ हूं। –

+0

धन्यवाद, टिम। बस जोड़ना चाहता था कि यह आईई 8 में काम करता है। दूसरों के बारे में निश्चित नहीं है। – Francisc

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