javascript - 为什么上面是fasle,下面是true

查看:106
本文介绍了javascript - 为什么上面是fasle,下面是true的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

为什么上面是fasle,下面是true

var re = null ,result ,i;
for (i=0; i < 10; i++){
    re = new RegExp("cat", "g");
    re.test("catastrophe");
    console.log(re.test("catastrophe")); //false
    result = re.test("catastrophe");
    console.log(result);  //true
}

解决方案

以下摘录自http://www.w3school.com.cn/js...

JavaScript lastIndex 属性
JavaScript RegExp 对象
定义和用法
lastIndex 属性用于规定下次匹配的起始位置。
语法
RegExpObject.lastIndex
说明
该属性存放一个整数,它声明的是上一次匹配文本之后的第一个字符的位置。
上次匹配的结果是由方法 RegExp.exec() 和 RegExp.test() 找到的,它们都以 lastIndex 属性所指的位置作为下次检索的起始点。这样,就可以通过反复调用这两个方法来遍历一个字符串中的所有匹配文本。
该属性是可读可写的。只要目标字符串的下一次搜索开始,就可以对它进行设置。当方法 exec() 或 test() 再也找不到可以匹配的文本时,它们会自动把 lastIndex 属性重置为 0。
提示和注释
重要事项:不具有标志 g 和不表示全局模式的 RegExp 对象不能使用 lastIndex 属性。
提示:如果在成功地匹配了某个字符串之后就开始检索另一个新的字符串,需要手动地把这个属性设置为 0。

这篇关于javascript - 为什么上面是fasle,下面是true的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆