正则表达式全局匹配下,多种写法区别

第一种:do...while循环,结果输出“eeee”四个e;这是正确结果。<scripttype="text/javascript">varstr="Givethewo... 第一种:do...while循环,结果输出“eeee”四个e;这是正确结果。
<script type="text/javascript">
var str="Give the world that is the last attacke!!";

var x=new RegExp("e","g");
var y=x.exec(str);
function display()
{
document.write(y);
}
do
{
var obj=x.exec(str);
display();
}
while (obj!=null)
</script>
第二种:for循环,输出“eee”,三个“e”,少输出了一个e,问原因为何?
<script type="text/javascript">
var str="Give the world that is the last attacke!!";

var x=/e/g;
var y=x.exec(str);

function display()
{
document.write(y);
}
var obj;
for (; (obj=x.exec(str))!=null;)
{
display();
}
</script>
第三种:while循环,输出三个e,也少输出了一个e,同上,问原因为何?
<script type="text/javascript">
var str="Give the world that is the last attacke!!";

var x=/e/g;
var y=x.exec(str);

function display()
{
document.write(y);
}
var obj;
while ((obj=x.exec(str))!=null)
{
display();
}
</script>
展开
 我来答
静的姿态
2015-08-12 · 超过61用户采纳过TA的回答
知道小有建树答主
回答量:142
采纳率:0%
帮助的人:83.9万
展开全部
do while 本来就是先执行后判断,所以多一次啊。 for和while都是先判断后执行。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式