JavaScript 核心语句 - while 和do-while 循环语句

while 语句与if 语句相似,均有条件地控制语句(或语句块)的执行,其语言结构基本相同:while(conditions) { statements; }while 语句与if 语句的不同之处在于:在if 条件假设语句中,若逻辑条件表达式为真,则运行statements 语句(或语句块),且仅运行一次;while 循环语句则是在逻辑条件表达式为真的情况下,反复执行循环体内包含的语句(或语句块)。

注意:while 语句的循环变量的赋值语句在循环体前,循环变量更新则放在循环体内;for 循环语句的循环变量赋值和更新语句都在for 后面的小括号中,在编程中应注意二者的区别。

改写 Test()函数代码如下,程序运行结果不变:function Test() { var iCount=0; var iArray=new Array("JHX","QZY","LJY","HZF"); var iLength=iArray.length; var msg="\nfor 循环语句测试 :\n\n"; msg+="数组长度 : \n "+iLength+"\n"; msg+="数组元素 : \n"; while(iCount<iLength) { msg+="iArray["+iCount+"] ="+iArray[iCount]+" \n"; iCount+=1; } alert(msg); }在某些情况下,while 循环大括号内的statements 语句(或语句块)可能一次也不被执行,因为对逻辑条件表达式的运算在执行statements 语句(或语句块)之前。若逻辑条件表达式运算结果为假,则程序直接跳过循环而一次也不执行statements 语句(或语句块)。

若希望至少执行一次 statements 语句(或语句块),可改用do…while 语句,其基本语法结构如下:do { statements; }while(condition);改写Test()函数代码如下,程序运行结果不变:function Test() { var iCount=0; var iArray=new Array("JHX","QZY","LJY","HZF"); var iLength=iArray.length; var msg="\nfor 循环语句测试 :\n\n"; msg+="数组长度 : \n "+iLength+"\n"; msg+="数组元素 : \n"; do{ msg+="iArray["+iCount+"] ="+iArray[iCount]+" \n"; iCount+=1; }while(iCount<iLength); alert(msg); }for、while、do…while 三种循环语句具有基本相同的功能,在实际编程过程中,应根据实际需要和本着使程序简单易懂的原则来选择到底使用哪种循环语句。