关于javascript中正则表达式与String函数的问题

代码如下:varwordTest=document.getElementById("wordTest").value;varfindTest=document.getEl... 代码如下:
var wordTest=document.getElementById("wordTest").value;
var findTest=document.getElementById("findTest").value;
var replaceTest=document.getElementById("replaceTest").value;
var reg = eval("/"+findTest+"/ig");就是对这句看不太懂
var resultArray = wordTest.replace(reg,replaceTest);
对eval我是知道的,但上面那句该如何理解呢,望指点
展开
 我来答
lvyingtang
2011-07-16 · TA获得超过645个赞
知道小有建树答主
回答量:675
采纳率:100%
帮助的人:707万
展开全部
var reg = eval("/"+findTest+"/ig");就是对这句看不太懂
eval(参数)这个方法就是返回一个字符串(如果字符串存在某种表达式或函数,它会计算表达式或执行函数,而如果就是一个普通字符串的话将会直接返回),在这里充其量就是把字符串拼接起来而已,我也不明白有什么高明之处?
如果没有什么特殊需要的话,写出这样的代码有点脑残之嫌(没有什么实用价值)!呵呵!
追问
在这里写成这样是因为直接用var reg = /findTest/ig;这个正则表达式在wordTest查找并替换是没有用的.但为什么用eval就有用了呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aio4924
2011-07-16 · TA获得超过480个赞
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:79.5万
展开全部
var reg = eval("/"+findTest+"/ig");
这是用eval构造一个正则表达式
简单的说,这几句代码就是在wordTest中找到findTest然后替换成replaceTest
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友583be65
2011-07-17 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:172
采纳率:0%
帮助的人:114万
展开全部
i:表示忽略大小写
g:表示全文查找
所以你的那条语句就是忽略大小写并全文查找指定的关键字
追问
这个我是知道的,谢谢.
追答
这句代码的意思就是将wordTest中的findTest替换成replaceTest ,eval的作用是将字符串转换为表达式,也就是说在这里var reg = eval("/"+findTest+"/ig");的作用是将findTest转换为findTest所代表的值,如果直接用var reg = /findTest/ig;则表示找“findTest”这个字符串,而不是findTest所代表的值
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mansai
2011-07-16 · TA获得超过1123个赞
知道小有建树答主
回答量:402
采纳率:0%
帮助的人:541万
展开全部
楼主真搞笑,eval都理解了,不了解上面的那句“var replaceTest=document.getElementById("replaceTest").value;“,此句是获取ID为replaceTest的值。
追问
你还没有搞清楚我问的是啥
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式