charAt(i)方法比仅使用[i]更快吗?

时间:2012-07-19 05:09:18

标签: javascript string

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

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

或者这个:

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

2 个答案:

答案 0 :(得分:4)

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

然而,ES5规范(当前标准)does include索引字符(现代浏览器支持):

  

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

因此,要编写向后兼容的跨浏览器代码,您应该通过charAt访问单个字符。

答案 1 :(得分:3)

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