我是一名主要负责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的浏览器。
感谢您放纵我的无聊。
答案 0 :(得分:1)
我看了一下WebKit源代码,似乎对String.charCodeAt()
的调用与调用String.trim()
的执行时间相似,并没有导致任何实际修剪。我还发现String.trimRight()
会保存一张支票,因为我只关心尾随空格。由于String.trimRight()
处理native-cpp上下文中的所有内容,我认为可以安全地假设弹回JavaScript上下文的效率会降低。