日期:2014-05-18  浏览次数:20738 次

JS的一个简单的问题~
JScript code

var v = "a bat,a Cat,a fAt baT";
var reg = /at/g;
alert(v.search(reg))


书上说是这个会输出3的,因为是at第一次出现在index3的位置上,但是我在IDE上运行之后怎么是9呢,也就是最后出现的index?
IDE是 1st javaScript Editer~

------解决方案--------------------
var reg = /at/i;
这个是返回at 第一次出现的位置

g 是个全局标志 
如果没有设置全局标志 (g),数组的0元素包含整个匹配,而第 1 到 n 元素包含了匹配中曾出现过的任一个子匹配。如果设置了全局标志,元素0到n中包含所有匹配。




------解决方案--------------------
应该是你的IDE的问题吧,我在MyEclipse面测试了一下,结果是3呀。
------解决方案--------------------
的确是3``
------解决方案--------------------
探讨
的确是3``

------解决方案--------------------
的确是3 IE和FF下都是