2

我正在开发一个处理大字符串的网络应用程序,所以我想知道哪种方式获取单个字符更快,这个:

var myStr = 'foo';
return myStr[i];

或者这个:

var myStr = 'foo';
return myStr.charAt(i);
4

2 回答 2

4

通过括号符号 ( ) 按索引访问字符串中的字符myStr[i]不仅在 IE 中不起作用,而且在 ES3 标准中也没有指定(所有浏览器都正确实现的标准)。

但是,ES5 规范(当前标准)确实包含索引字符(现代浏览器支持):

名为属性的数组索引对应于字符串值的各个字符。

因此,要编写向后兼容的跨浏览器代码,您应该通过charAt.

于 2012-07-19T05:31:01.280 回答
3

我不确定哪个更快,但您可能想查看string.charAt(x) 或 string[x]? 查看有关为什么 myStr.charAt(i) 比使用 myStr[i] 更好的讨论(答案是浏览器兼容性)

于 2012-07-19T05:15:19.830 回答