会出现这种结果可能是因为和test有关。test和exec每执行一次它是在字符串中移动搜索的,这里有一个lastindex属性,它被设为紧接着匹配子串的字符位置,当再次调用test时就会从lastIndex处开始执行匹配。因此第一次test它找到有一个'0',因此显示'true',当第二次使用时,它是从先前的位置出发,所以没找到,返回'false',第三次又是从头开始,因此返回是'true'.而如果没有[g],test和exec总是会将lastIndex设为0。