From Javascript's Kiss

Watch.start("function trim");
for (var i = 0; i < 100000; i++) {
    var str3 = "   hello     ";
    var str3 = str3.replace(/^\s+/, "");
    for (var j = str3.length - 1; j >= 0; j--) {
        if (/\S/.test(str3.charAt(j))) {
            str3 = str3.substring(0, j + 1);
            break;
        }
    }
}
Watch.stop();

Watch.start("One replace");
for (var i = 0; i < 100000; i++) {
    var str = "   hello     ";
    str = str.replace(/^\s+|\s+$/g, "");
}
Watch.stop();

Watch.start("Two replace");
for (var i = 0; i < 100000; i++) {
    var str2 = "   hello     ";
   str2 = str2.replace(/^\s+/, "").replace(/\s+$/, "");
}
Watch.stop();