当前位置:编程学习 > JS >>

JavaScript的compile方法

我是菜鸟,正在学习JavaScript,教程中的compile方法和网上查找到的资料对不上。不知道,哪个是正确的。
以下是教程中的内容
compile()
compile() 方法用于改变 RegExp。

compile() 既可以改变检索模式,也可以添加或删除第二个参数。

例子:
var patt1=new RegExp("e");

document.write(patt1.test("The best things in life are free"));

patt1.compile("d");

document.write(patt1.test("The best things in life are free"));由于字符串中存在 "e",而没有 "d",以上代码的输出是:

truefalse


一开始只是想知道,怎么用compile方法删除第二个参数,但是却在网络上查找到了完全不同的内容。如果教程上是对的,请告诉我,如何删除第二个参数。
以下是网络上找到的内容
compile 方法把 pattern 转换为内部的格式,从而执行得更快。例如,这使得可以在循环中更有效地使用正则表达式。当重复使用相同的表达式,那么编译过的正则表达式使执行加速。然而,如果正则表达式改变了,这种编译毫无益处。

下面的例子举例说明了 compile 方法的用法:
function CompileDemo(){
var rs;
var s = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp"
// 只为大写字母创建正则表达式。
var r = new RegExp("[A-Z]", "g");
var a1 = s.match(r) // 查找匹配。
// 只为小写字母编译正则表达式。
r.compile("[a-z]", "g");
var a2 = s.match(r) // 查找匹配。
return(a1 + "\n" + a2;
}
答案:
他说的意思是可以删除和添加第二个参数就是说,可以用第二个参数,也可以不用,相当于别的语言中的重载,你在使用这个函数时可以有两个参数,也可以只有一个参数。
你都还没编译怎么能看得懂你的源码哈

上一个:浏览器怎么启用JavaScript
下一个:Javascript零基础学入门

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,