javascript测试三种字符串替换方式效率
//第一种 直接正则表达式替换一次
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测试三种字符串替换方式效率相关推荐
- JS中三种字符串连接方式及其性能比较
工作中经常会碰到要把2个或多个字符串连接成一个字符串的问题,在JS中处理这类问题一般有三种方法,这里将它们一一列出顺便也对它们的性能做个具体的比较. 第一种方法 用连接符"+"把 ...
- angular移除事件绑定事件绑定_002-js的三种事件绑定方式
不说太多虚的,这次要聊的,是JavaScript的三种事件绑定方式. 方法1:直接在HTML中指定,称为"内嵌"会不会更合适一点? (1)直接在HTML的属性里写代码 示例代码: ...
- Java 5种字符串拼接方式性能比较。
最近写一个东东,可能会考虑到字符串拼接,想了几种方法,但对性能未知,于是用Junit写了个单元测试. 代码如下: import java.util.ArrayList; import java.uti ...
- LVS:三种负载均衡方式比较+另三种负载均衡方式
欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...
- LVS:三种负载均衡方式与八种均衡算法
1.什么是LVS? 首先简单介绍一下LVS (Linux Virtual Server)到底是什么东西,其实它是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术.调度器具有很 ...
- 三种Cache写入方式原理简介
三种Cache写入方式原理简介 在386以上档次的微机中,为了提高系统效率,普遍采用Cache(高速缓冲存储器),现在的系统甚至可以拥有多级Cache.Cache实际上是位于CPU与DRAM主存储器之 ...
- SPA优缺点、解决单页面应用的SEO困难问题以及三种网页渲染方式
SPA特点优点缺点总结 1. 单页Web应用(SPA - Single Page web Application) 也就是说只有一个HTML文件的Web应用, 我们就称之为单页Web应用, 就称之为S ...
- Mongodb的三种集群方式的搭建
Mongodb是时下流行的NoSql数据库,它的存储方式是文档式存储,并不是Key-Value形式.关于Mongodb的特点,这里就不多介绍了,大家可以去看看官方说明:http://docs.mong ...
- ios首次加载web_IOS_IOS中UIWebView的使用详解,一、初始化与三种加载方式
UI - phpStudy...
IOS中UIWebView的使用详解 一.初始化与三种加载方式 UIWebView继承与UIView,因此,其初始化方法和一般的view一样,通过alloc和init进行初始化,其加载数据的方式有三种 ...
最新文章
- Oralce Plsql 中文显示乱码问题无需修改注册表完美解决
- 02.iOS开发网络篇—HTTP协议
- A Simple Problem with Integers POJ - 3468(线段树+区间查询+区间修改+建树+懒惰标记模板)+(树状数组)
- datagrid 小数点_EasyUI 解决 datagrid 中 NumberBox 限制小数位数后不能输入小数点问题...
- 背包问题 小灰_小背包问题
- 《哲学与人生》的读书札记
- 【OpenCVOpenGLMarkerless AR】原理部分+代码
- 在王者荣耀角度下分析面向对象程序设计B中23种设计模式之策略模式
- linux库函数pthread.h------pthread_rwlock_t读写锁说明
- Java HashSet
- el-form和el-col响应式布局
- 世界第一台通用计算机:ENIAC
- PAT乙级题库踩坑实录
- Pravega 学习
- ctf web write-up
- 大专生学Java找得到工作吗_工资如何?
- 分享几款超好用的 REST API 工具
- 2019-10-28-dotnet-代码调试方法
- 浅谈NFT抵押借贷的三种模式:点对点、资金池和中心化模式
- JAVA程序员工作常用英语(细心整理)java常用名词解释