易截截图软件、单文件、免安装、纯绿色、仅160KB

高效JavaScript 字符串替换函数的benchmark

版权声明
:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2006/11/23/javascript-strreplace-benchmark/
以及本声明。
感谢Clear为我们提供了这个效率更高的字符串替换函数
。这是经常使用的HTML特殊字符替换函数,即将 &、<、>、" 等函数替换成 &、<、>、"。通常的作法都是连续使用数个 replace 函数,而Clear仅使用一个 replace 就完成了替换。
我对这两个函数作了benchmark,发现新函数的效率约为原函数的1.4倍。虽然没有预想中那么高效率,但当要替换的字符串更多时,效率应该会提高吧。
测试方法为,对一个2048字节长的字符串分别执行两个函数100次,取其执行时间。下面为10次测试的结果。toTXT_1 为通常的作法,toTXT_2 为Clear的方法。
toTXT_1(ms)
toTXT_2(ms)
toTXT_1/toTXT_2
1609
1204
75%
2250
1547
69%
1672
1313
79%
1813
1250
69%
1844
1219
66%
2063
1421
69%
2031
1172
58%
1797
1360
76%
2015
1281
64%
1860
1500
81%
测试代码:
<html>
<head>
<mce:script type="text/javascript"><!--
function toTXT_1(str){
str = str.replace(/\&/g, "& amp;");
str = str.replace(/\>/g, "& gt;");
str = str.replace(/\</g, "& lt;");
str = str.replace(/\"/g, "& quot;");
str = str.replace(/\'/g, "& #39;");
return str;
}
function toTXT_2(str){
var RexStr = /\<|\>|\"|\'|\&/g
str = str.replace(RexStr,
function(MatchStr){
switch(MatchStr){
case "<":
return "& lt;";
break;
case ">":
return "& gt;";
break;
case "\"":
return "& quot;";
break;
case "'":
return "& #39;";
break;
case "&":


相关文档:

JAVASCRIPT动态的为元素添加事件

现在感觉js很好很强大,随着深入的学习,你就会不会拒绝在客户端使用js。之前也在网上找了点资料,一起看看。
 
value="我是 button" /> 
动态添加onclick事件: 
<input type="button" value="我是 button" id="bu"> 
<script type="text/javascript"> 
var bObj=document. ......

JavaScript事件冒泡简介及应用



          
一、什么是事件冒泡
在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事 件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直 ......

javascript with用法(转)

with
(object)
   statements
参数
object
新的默认对象。
statements
一个或多个语句,object 是该语句的默认对象。
说明
with
语句通常用来缩短特定情形下必须写的代码量。在下面的例子中,请注意 Math 的重复使用:
x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10)
y = Math.tan(14 * ......

javascript &css实现的长文章分页

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>FLYSO Blog-- JS代码实现的自动分页效果~!</TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT=""& ......

在Javascript中创建对象

在Javascript中没有class类,但是同样也可以进行对象的创建。在面向对象的语言中需要实例化某个具体类的实例,在Javascript中则不用。
在Javascript里,对像可以创建新的对象,也可以继承自其他对象。这个概念称为原型化继承(prototypal inheritance)。
任何函数在Javascript 中都可以被实例化一个对象。
程序如下:
// ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号