帮我解释一下这段JS

来源:百度知道 编辑:UC知道 时间:2024/05/21 11:12:33
function mask(un)
{
if(masklist.indexOf(' '+un+' ')==-1)
{masklist=masklist+un+' ';}
else
{
var regexp=eval('/ '+un+' /gi');
masklist=masklist.replace(regexp,' ');
}
}
其中var regexp=eval('/ '+un+' /gi')里的 '/ '+un+' /gi' 啥意思?

请详细一点
这些我在JS手册里找不到,有没有其它的参考文件(我可以再加30分)

替换原有字符串中所有匹配的子字符串,
var regexp=eval('/ '+un+' /gi');
masklist=masklist.replace(regexp,' ');
将所有和un匹配的子字符串替换为空字符
其中eval函数用来将字符串解析成正则表达式,eval函数是js中用来执行代码的函数。通常可以用来将字符串解析成为另一种对象,好比强类型语言中类型转换的味道。g就是将所有匹配的都加以替换,否则只会替换一组。i是忽略大小写。gi就是g和i的组合形式。