问个弱弱的while问题...
function   RegExpTest(){ 
       var   ver   =   Number(ScriptEngineMajorVersion()   +    ". "   +   ScriptEngineMinorVersion()) 
       if   (ver   > =   5.5){                                                   //   测试   JScript   的版本。 
             var   src   =    "The   rain   in   Spain   falls   mainly   in   the   plain. "; 
             var   re   =   /\w+/g;                                             //   创建正则表达式模式。 
             var   arr; 
             while   ((arr   =   re.exec(src))   !=   null) 
                      document.write(arr.index   +    "- "   +   arr.lastIndex   +    "\t "   +   arr); 
       } 
       else{ 
             alert( "请使用   JScript   的更新版本 "); 
       } 
 }     
 --------------------------------   
 上面是从MS的JS手册里摘的一段?   
 我不明白while的条件 
 (arr   =   re.exec(src))   !=   null 
 我认为这个条件永远是true... 
 应该是个死循环啊... 
 为什么把正则匹配到的词都读出来后就结束循环了呢? 
 而且为什么会读出所有的匹配?     
 var   re   =   /\w+/g; 
 我把正则条件改了改.. 
 /\w+/   只匹配第1个词 
 这时候却成为了死循环? 
 这和我本来认为可能是死循环却一致了?为什么? 
 如果按当没匹配的时候自动条出循环..为什么仅一个匹配的时候却不是?
------解决方案--------------------null == undefined	返回 true
------解决方案--------------------如果 exec 方法没有找到匹配,则它返回 null
------解决方案--------------------alert((arr = null) != null); 
 false