注册
登录

您现在的位置是:首页 > 学无止境

一道javascript正则笔试题目

木木彡82 2011-04-22 13:51:00 443人围观
一道javascript正则笔试题目

问为什么会输出true,false,true,false?

原来正则表达式中g 标记有个lastIndex属性,该属性存放一个整数,它声明的是上一次匹配文本之后的第一个字符的位置。上次匹配的结果是由方法 RegExp.exec() RegExp.test() 找到的,它们都以 lastIndex 属 性所指的位置作为下次检索的起始点。这样,就可以通过反复调用这两个方法来遍历一个字符串中的所有匹配文本。该属性是可读可写的。只要目标字符串的下一次 搜索开始,就可以对它进行设置。当方法 exec() 或 test() 再也找不到可以匹配的文本时,它们会自动把 lastIndex 属性重置为 0。

如下面js代码输出RegExp的lastIndex,就可以很清楚的说明这个问题了:

 

文章评论

  • 登录后评论

点击排行