RegExp中参数g使用时的循环语句问题
答案:1 悬赏:70 手机版
解决时间 2021-03-26 16:24
- 提问者网友:轮囘Li巡影
- 2021-03-26 00:29
RegExp中参数g使用时的循环语句问题
最佳答案
- 五星知识达人网友:不如潦草
- 2021-03-26 01:46
显然你是没有搞懂这段代码想干什麼, 或者说你没搞清楚你想干什麼
原始代码中
result=patt1.exec("The best things in life are free");
在循环体里, 就靠这个终止循环, 你把它移出来想干什麼?追问那如果我要将原始代码改成以for关键词或者while关键词的循环,怎么改?还有,第一次修改,我在while语句里将var result=……复制进去,就使用while语句,出现无限循环错误,原因是什么?不是在外面的var result在while第一次判断中通过后,循环里面的var result语句并写出,然后得到结果吗?追答第一次修改...原因是什么?
原因是你在循环体里没有更新result的状态, 它在前面获得了.exec()的结果, 在这个例子中不为null, 所以它无限循环了
不是在外面的...然后得到结果吗?
你大概是搞混了if和while吧?
可行方案
while
var patt1 = /e/g,result;
while (result = patt1.exec('The best things in life are free'))
document.write(result) for
var patt1 = /e/g,Tester = 'The best things in life are free',result = patt1.exec(Tester);
for (;result;)
{
document.write(result)
result = patt1.exec(Tester)
}追问谢谢
原始代码中
result=patt1.exec("The best things in life are free");
在循环体里, 就靠这个终止循环, 你把它移出来想干什麼?追问那如果我要将原始代码改成以for关键词或者while关键词的循环,怎么改?还有,第一次修改,我在while语句里将var result=……复制进去,就使用while语句,出现无限循环错误,原因是什么?不是在外面的var result在while第一次判断中通过后,循环里面的var result语句并写出,然后得到结果吗?追答第一次修改...原因是什么?
原因是你在循环体里没有更新result的状态, 它在前面获得了.exec()的结果, 在这个例子中不为null, 所以它无限循环了
不是在外面的...然后得到结果吗?
你大概是搞混了if和while吧?
可行方案
while
var patt1 = /e/g,result;
while (result = patt1.exec('The best things in life are free'))
document.write(result) for
var patt1 = /e/g,Tester = 'The best things in life are free',result = patt1.exec(Tester);
for (;result;)
{
document.write(result)
result = patt1.exec(Tester)
}追问谢谢
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯