//第一种  直接正则表达式替换一次

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文本里面读取数据来处理,文本大小4KB
 function 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
 
怎么最后一种方法数据更多用时反而多少了,这个不知道了。

javascript测试三种字符串替换方式效率相关推荐

  1. JS中三种字符串连接方式及其性能比较

    工作中经常会碰到要把2个或多个字符串连接成一个字符串的问题,在JS中处理这类问题一般有三种方法,这里将它们一一列出顺便也对它们的性能做个具体的比较. 第一种方法  用连接符"+"把 ...

  2. angular移除事件绑定事件绑定_002-js的三种事件绑定方式

    不说太多虚的,这次要聊的,是JavaScript的三种事件绑定方式. 方法1:直接在HTML中指定,称为"内嵌"会不会更合适一点? (1)直接在HTML的属性里写代码 示例代码: ...

  3. Java 5种字符串拼接方式性能比较。

    最近写一个东东,可能会考虑到字符串拼接,想了几种方法,但对性能未知,于是用Junit写了个单元测试. 代码如下: import java.util.ArrayList; import java.uti ...

  4. LVS:三种负载均衡方式比较+另三种负载均衡方式

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  5. LVS:三种负载均衡方式与八种均衡算法

    1.什么是LVS? 首先简单介绍一下LVS (Linux Virtual Server)到底是什么东西,其实它是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术.调度器具有很 ...

  6. 三种Cache写入方式原理简介

    三种Cache写入方式原理简介 在386以上档次的微机中,为了提高系统效率,普遍采用Cache(高速缓冲存储器),现在的系统甚至可以拥有多级Cache.Cache实际上是位于CPU与DRAM主存储器之 ...

  7. SPA优缺点、解决单页面应用的SEO困难问题以及三种网页渲染方式

    SPA特点优点缺点总结 1. 单页Web应用(SPA - Single Page web Application) 也就是说只有一个HTML文件的Web应用, 我们就称之为单页Web应用, 就称之为S ...

  8. Mongodb的三种集群方式的搭建

    Mongodb是时下流行的NoSql数据库,它的存储方式是文档式存储,并不是Key-Value形式.关于Mongodb的特点,这里就不多介绍了,大家可以去看看官方说明:http://docs.mong ...

  9. ios首次加载web_IOS_IOS中UIWebView的使用详解,一、初始化与三种加载方式 UI - phpStudy...

    IOS中UIWebView的使用详解 一.初始化与三种加载方式 UIWebView继承与UIView,因此,其初始化方法和一般的view一样,通过alloc和init进行初始化,其加载数据的方式有三种 ...

最新文章

  1. Oralce Plsql 中文显示乱码问题无需修改注册表完美解决
  2. 02.iOS开发网络篇—HTTP协议
  3. A Simple Problem with Integers POJ - 3468(线段树+区间查询+区间修改+建树+懒惰标记模板)+(树状数组)
  4. datagrid 小数点_EasyUI 解决 datagrid 中 NumberBox 限制小数位数后不能输入小数点问题...
  5. 背包问题 小灰_小背包问题
  6. 《哲学与人生》的读书札记
  7. 【OpenCVOpenGLMarkerless AR】原理部分+代码
  8. 在王者荣耀角度下分析面向对象程序设计B中23种设计模式之策略模式
  9. linux库函数pthread.h------pthread_rwlock_t读写锁说明
  10. Java HashSet
  11. el-form和el-col响应式布局
  12. 世界第一台通用计算机:ENIAC
  13. PAT乙级题库踩坑实录
  14. Pravega 学习
  15. ctf web write-up
  16. 大专生学Java找得到工作吗_工资如何?
  17. 分享几款超好用的 REST API 工具
  18. 2019-10-28-dotnet-代码调试方法
  19. 浅谈NFT抵押借贷的三种模式:点对点、资金池和中心化模式
  20. JAVA程序员工作常用英语(细心整理)java常用名词解释

热门文章

  1. JavaScript鼠标滚轮控制左右移动
  2. 《程序员》2013年1期精彩内容:产品设计
  3. CRC16 Modbus计算原理与代码实现
  4. 进程的三种基本状态及转换原因
  5. 我是唱作人2的mv下载方法步骤
  6. user电影的详细信息和播放vue
  7. html+css+js实现类淘宝星级宝贝评价系统
  8. python集合是可变类型吗_python集合是可变类型吗
  9. 支付宝支付和微信支付容易被风控可以看一下这个操作
  10. 解决Windows Live Mail 导入联系人乱码的问题