可以这样做:
var myString="Hello!";
alert(myString[0]); // shows "H" in an alert window
或者应该使用charAt(0)还是substr(0,1)? 通过“它没关系”我的意思是它适用于大多数浏览器,是否有最佳实践建议,否则等等。
谢谢。
答案 0 :(得分:46)
将字符作为字符串的数字属性进行访问是non-standard prior to ECMAScript 5 and doesn't work in all browsers(例如,它在IE 6或7中不起作用)。当您的代码必须在非ECMAScript 5环境中工作时,您应该使用myString.charAt(0)
。或者,如果您要访问字符串中的大量字符,则可以使用其split()
方法将字符串转换为字符数组:
var myString = "Hello!";
var strChars = myString.split("");
alert(strChars[0]);
答案 1 :(得分:41)
使用charAt
可能是最好的主意,因为它最准确地传达了代码的意图。为单个字符调用substr
绝对是一种矫枉过正的行为。
alert(myString.charAt(0));
答案 2 :(得分:7)
2018年的答案:是的,可以访问。
语法简洁明了。 IE6和IE7早已不复存在。我认为没有理由不使用它。
答案 3 :(得分:1)
在ES6中,我们可以使用解构,因为字符串可以被视为数组:
const [...rest] = 'Hello!';
console.log(rest)
> Array ["H", "e", "l", "l", "o", "!"]
console.log(rest[0])
> "H"