测试代码:
<!DOCTYPE html>
<html>
<head>
<title>Demo</title>
<meta charset="utf-8"/>
</head>
<body>
<script type="text/javascript">
function GetReg1(reg){
var regex=null;
for(var i=0;i<1000;i++){
regex=new RegExp(reg);
}
return regex;
}
function GetReg2(reg){
var regex=null;
for(var i=0;i<1000;i++){
regex=eval("/"+reg+"/");
}
return regex;
}
console.profile("1");
GetReg1();
console.profileEnd("1");
console.profile("2");
GetReg2();
console.profileEnd("2");
</script>
</body>
</html>
测试结果:
是Eval很耗时吗?
万能的东西效率自然不好,你还可以试试直接量,应该是最快的
不太明白你说的直接量是什么意思
要根据传入的参数创建正则,还有其他更优的方法吗?