这样做可以吗:
var myString="Hello!";
alert(myString[0]); // shows "H" in an alert window
或者应该使用charAt(0)或substr(0,1)吗? “可以吗”是指它在大多数浏览器上是否有效,是否有最佳实践建议否则等等。
谢谢。
这样做可以吗:
var myString="Hello!";
alert(myString[0]); // shows "H" in an alert window
或者应该使用charAt(0)或substr(0,1)吗? “可以吗”是指它在大多数浏览器上是否有效,是否有最佳实践建议否则等等。
谢谢。
在ECMAScript 5之前,将字符串视为数字属性来访问字符是非标准的,并且不能在所有浏览器中使用(例如,在IE6或7中无法工作)。当您的代码必须在非ECMAScript 5环境中运行时,应改用myString.charAt(0)
。或者,如果您要访问字符串中的许多字符,则可以使用其split()
方法将字符串转换为字符数组:
var myString = "Hello!";
var strChars = myString.split("");
alert(strChars[0]);
使用charAt
可能是最好的选择,因为它最准确地传达了您代码的意图。调用substr
来获取单个字符绝对是过度使用。
alert(myString.charAt(0));
2018年的答案是:可以像数组一样访问字符串。
语法清晰简洁。IE6和IE7早已过时。我认为没有理由不使用它。
reverse
和pop
。 - Matt Montagconst [...rest] = 'Hello!';
console.log(rest)
> Array ["H", "e", "l", "l", "o", "!"]
console.log(rest[0])
> "H"
var myStr="JavaScript";alert(myStr[4]);
将显示 "S"。我刚刚又测试了一下。 - Francisc