asp正则表达式函数:Javascript 字符串字节长度计算函数代码和效率分析(for VS 正则)来源: 发布时间:星期五, 2009年12月11日 浏览:229次 评论:0
先看看
![]() ![]() ![]() ![]() for循环检测 ![]() ![]() ![]() 复制代码 代码如下: var lenFor = function(str){ var ![]() ![]() for(var i=0; i<len; i ![]() ![]() ![]() ![]() } ![]() ![]() ![]() } } ![]() ![]() } ![]() ![]() } } 使用思路方法 var strlength=lenFor(str) for循环检测 ![]() ![]() 复制代码 代码如下: function LEN(str){ var i,sum=0; for(i=0;i<str.length;i ![]() ![]() sum=sum+1; ![]() sum=sum+2; } ![]() } 正则表达式检测 ![]() ![]() 有点代码比较精简 ![]() ![]() ![]() ![]() ![]() ![]() ![]() 复制代码 代码如下: var lenReg = function(str){ ![]() }; var strlength2=lenReg(str) 我用以下代码段对以上两个 ![]() ![]() 复制代码 代码如下: var s = '......';// ![]() ![]() ![]() ![]() function a ![]() var timeStart,timeEnd; timeStart = ![]() ![]() var s1 = lenReg(s); timeEnd = ![]() ![]() var t1 = (timeEnd - timeStart)*1000; timeStart = ![]() ![]() var s2 = lenFor(s); timeEnd = ![]() ![]() var t2 = (timeEnd - timeStart)*1000; alert('lenReg: ' + s1 + ' time: ' + t1 + '\nlenFor: ' + s2 + ' time: ' + t2); } window.onload = function ![]() a ![]() }; 以上代码在浏览器载入完毕 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 我得到两种答案: 第 ![]() lenReg: 25824 time: 20000 lenFor: 25824 time: 10000 第 2种: lenReg: 48795 time: 15000 lenFor: 48795 time: 25000 需要介绍说明 ![]() ![]() ![]() ![]() ![]() ![]() ![]() 为什么会相差那么大呢?我到底偷偷改了什么??以上我提过 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 是 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 在中文网页中 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() lenReg: 25824 time: 20000 lenFor: 25824 time: 10000 如上所示 ![]() ![]() ![]() ![]() ![]() 为什么呢? str.replace(/[^\x00-\xFF]/g,'**').length; 看看以上语句(lenReg ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 我不太确定以上 ![]() ![]() ![]() ![]() 那么 ![]() ![]() ![]() ![]() ![]() ![]() ![]() 0
相关文章读者评论发表评论 |