我正在开发一个处理大字符串的网络应用程序,所以我想知道哪个方法可以让单个字符更快,这个:
var myStr = 'foo';
return myStr[i];
或者这个:
var myStr = 'foo';
return myStr.charAt(i);
答案 0 :(得分:4)
通过括号表示法(myStr[i]
)按索引访问字符串中的字符不仅在IE中不起作用,而且在ES3标准中没有指定(一个所有浏览器实现正确地)。
然而,ES5规范(当前标准)does include索引字符(现代浏览器支持):
名为属性的数组索引对应于个人 字符串值的字符。
因此,要编写向后兼容的跨浏览器代码,您应该通过charAt
访问单个字符。
答案 1 :(得分:3)
我不确定哪个更快,但你可能想看看string.charAt(x) or string[x]? 看看为什么myStr.charAt(i)比使用myStr [i]更好的讨论(答案是浏览器兼容性)