String.trim()与检查空格的相对效率

时间:2016-06-08 19:52:27

标签: javascript string webkit

我是一名主要负责C项目开发人员的项目,需要在嵌入式设备上使用JavaScript。我试图找出最有效的方法来处理使用String.trim()从字符串末尾剥离空格,在空间是一个不常见的边缘情况的上下文中。

我的问题是用这样的支票包裹String.trim()电话是否更有效率:

if (text.charCodeAt(text.length - 1) === 0x20) {
    text = text.trim();
}

或者让text.trim()处理检查。假设尾随空格将出现在大约1/100的条目中,并且除了在每个条目上调用trim的效率之外没有其他问题。我的猜测是String.trim()将在本机代码中实现,因此检查应该至少与调用String.charCodeAt()text.length一样有效。这适用于基于Webkit或Webkit的浏览器。

感谢您放纵我的无聊。

1 个答案:

答案 0 :(得分:1)

我看了一下WebKit源代码,似乎对String.charCodeAt()的调用与调用String.trim()的执行时间相似,并没有导致任何实际修剪。我还发现String.trimRight()会保存一张支票,因为我只关心尾随空格。由于String.trimRight()处理native-cpp上下文中的所有内容,我认为可以安全地假设弹回JavaScript上下文的效率会降低。