如果效率是个问题,如何修改JavaScript trim函数?

如果效率是个问题,如何修改JavaScript trim函数?,javascript,jquery,Javascript,Jquery,我目前正在使用下面的修剪-但这会导致IE中的脚本速度变慢 function trim(s) { return s.replace(/^\s+/, '').replace(/\s+$/, ''); } 试试这个: function trim(s) { s.replace(/^\s*((?:[\S\s]*\S)?)\s*$/, '$1'); } 它是FF和IE中最快的字符串: 如果您有权访问jQuery,还可以使用: $.trim(myString); 奇怪的是,您的正则表达式

我目前正在使用下面的修剪-但这会导致IE中的脚本速度变慢

function trim(s) {
    return s.replace(/^\s+/, '').replace(/\s+$/, '');
}
试试这个:

function trim(s) {
    s.replace(/^\s*((?:[\S\s]*\S)?)\s*$/, '$1');
}
它是FF和IE中最快的字符串:

如果您有权访问jQuery,还可以使用:

$.trim(myString);

奇怪的是,您的正则表达式(即使在同一个字符串上被调用两次)会导致缓慢的脚本错误。你确定这是原因吗?

这本身不能在IE中引起“慢脚本”警告。你必须在一个实质性的循环中调用它。如果此操作使该循环超出限制,则需要查看该循环,因为它非常非常接近边缘。请注意,IE中的“慢脚本”警告并不是基于时间,而是基于您在不让步的情况下执行的操作数。我目前正试图找出问题所在-但我会测试您的修剪,看看是否有改进-干杯