//第一种 直接正则表达式替换一次
function replaceTrim1(source){ return source.replace(/^\s|\s$/g,""); }
//第二种 正则表达式替换两次,先替换前在替换后
function replaceTrim2(source){ return source.replace(/^\s*/,"").replace(/\s*$/,""); }
//第三种 正则表达式替换前部分,后部分则是循环遍历
function replaceTrim3(source){ var str= source.replace(/^\s*/,""); ws=/\s/; i=source.length; while (ws.test(source.charAt(--i))){ }; return str.slice(0,i); }
/* 10000 短字段:10/18/47 " #id div.class test OK,fdfd,dfd,dfdfx,fdfd,dfdfdf,dfdfdf,dfdfd,jast jfldf fdfd ddf " */ var source = " #id div.class test OK,fdfd,dfd,dfdfx,fdfd,dfdfdf,dfdfdf,dfdfd,jast jfldf fdfd ddf "var starttime = new Date().getTime(); for (var i=0;i<10000;i++){ replaceTrim1(source); } var endtime = new Date().getTime();; console.log("replaceTrim1 use time="+(endtime-starttime)) starttime = new Date().getTime(); for (var i=0;i<10000;i++){ replaceTrim2(source); } endtime = new Date().getTime();; console.log("replaceTrim2use time="+(endtime-starttime))starttime = new Date().getTime(); starttime = new Date().getTime();for (var i=0;i<10000;i++){ replaceTrim3(source); } endtime = new Date().getTime();; console.log("replaceTrim2use time="+(endtime-starttime))starttime = new Date().getTime();最后用时分别为:10/18/47
这个是短的字段,现在在用长文本来做处理,从text文本里面读取数据来处理,文本大小4KBfunction readFile(path){ var oFso,oFile,sFile,sContent; sFile = "D:\\tool\\11.txt"; //写文件 oFso = new ActiveXObject("Scripting.FileSystemObject"); // oFile = oFso.OpenTextFile(sFile,2,true); //写方式打开 // oFile.WriteLine("菩提本无树,明镜亦非台,本来无一物,何处惹尘埃!"); // oFile.Close(); //读文件 oFile = oFso.OpenTextFile(sFile,1); //只读方式打开 try{ while (true) { var temp = oFile.ReadLine(); sContent = (sContent == null ? "" : (sContent + "</br>")) + temp; } }catch (e){ if(e=="Error: 输入超出了文件尾") //正常读取完文件, { }else{//其它异常 alert(e) } } oFile.Close(); return sContent; }如果运行读取文件的时候报错 :错误: Automation 服务器不能创建对象则自行把internet选项里面的安全-->自定义级别-->ActiveX控件和插件-->对未标记为可安全执行脚本的ActiveX....-->选择启用这次执行结果为:运行1000次,分别用时:85/73/8
怎么最后一种方法数据更多用时反而多少了,这个不知道了。