JavaScript基础之流程控制语句的用法
第三部分:流程控制语句
JavaScript代码是书写位置:
JavaScript的每一句代码请用分号作为结束。
输出语句
1、控制台输出:console.log();
2、弹出框输出:
alert();
3、页面输出:document.write();
选择语句
if....else语句
if(判断条件/boolean值){
//满足条件会执行下面的代码
代码1;
}else{
//当上面的条件不满足,或者boolean的值为false的时候会执行下面的代码2
代码2
}
此外,else后还可以继续加if判断
if(判断条件/boolean值){
//满足条件会执行下面的代码
代码1;
}elseif(判断条件){
//当上面的条件不满足,或者boolean的值为false的时候会执行下面的代码2
代码2
}
elseif(判断条件)
。。。。。
else{
最后代码
}
Switch...case语句
用来判断多个可能出现的值
switch语句与if语句的关系最为密切,而且也是在其他语言中普遍使用的一种流控制语句。
switch(expression){ casevalue:statement break; casevalue:statement break; casevalue:statement break; casevalue:statement break; default:statement }
switch语句中的每一种情形(case)的含义是:“如果表达式等于这个值(value),则执行后面的语句(statement)”。而
也可以多种情况混合。
switch(i){ case25: /*合并两种情形*/ case35: alert("25or35"); break; case45: alert("45"); break; default: alert("Other"); }
需要注意的是switch语句在比较值时使用的是全等操作符,因此不会发生类型转换(例如,
字符串"10"不等于数值
break与continue语句
break是在循环内部结束合格循环。
continue是在循环的内部结束本次循环,开始下一次循环:
循环语句
for循环是反复执行同一段代码。
for(vari=1;判断条件;i++){
要循环的代码块:
}
当程序运行到for的时候,会先声明一个变量i,并且赋值为1,判断i是否满足后面的判断条件,如果满足,执行下面的要循环的代码块,代码块执行完成之后再执行i++,再判断判断条件是否满足,如果满足再次按照上面的流程执行,如果不满足,结束for循环。
for循环还可以用于嵌套,实现复杂的运算,冒泡排序就用到了for循环的嵌套。下面举两个for循环嵌套的例子。
打印直角三角形,
for(vari=1;i<=10;i++){ for(varj=1;j<=i;j++){ document.write("☆"); } document.write("
"); }
打印99乘法表
for(vari=1;i<10;i++){ for(varj=1;j<=i;j++){ document.write(j+"*"+i+"="+i*j);//1*1=1 document.write(""); } document.write("
"); }
forin循环
for-in用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。
举个例子
varx varmycars=newArray() mycars[0]="Saab" mycars[1]="Volvo" mycars[2]="BMW" for(xinmycars) { document.write(mycars[x]+"
") }
while循环
while(判断条件/boolean){
代码块
}
当代码执行到while的时候,会先判断判断条件是否为true,如果为true,那么会执行while大括号中的代码块,代码块执行完毕以后,再次回到while中再进行判断,如果为true,再次执行while大括号中的代码块,并且再次回while,如果为false就不执行。
注意:将来在写代码的时候一定要注意循环的判断条件不能一直为true,否则会成为一个死循环。
do...while循环
do-while语句是一种后测试循环语句,即只有在循环体中的代码执行之后,才会测试出口条件。
换句话说,在对条件表达式求值之前,循环体内的代码至少会被执行一次。
do{ statement }while(expression);
do...while语句在开发中并不怎么用,用的最多的还是for循环,以及for循环嵌套。
补充:
Function函数对象
functionfn(){ //函数体 }
varfn=function(){ //函数体 }
//fn表示函数名称
//函数表达式通常又叫匿名函数因为没有函数名
函数的调用
fn();//注意:函数只申明不调用是不会执行的
函数的参数
//申明
function函数名(形参1,形参2,形参3,){
//函数体
}
//调用
函数名(实参1,实参2,实参3);
函数名(实参1);//
函数名(实参1,实参2,实参3,实参4);//
//注意:函数的实参个数可以和形参的个数不同
函数的返回值
function函数名(){
return要返回值;
}
//注意:函数不写返回值时默认的返回值是undefined
函数的递归:函数在内部调用自身函数叫递归
functionfn(){ fn(); } fn();
函数的回调:被当做参数传递的函数叫回调函数
functionfn1(){ console.log(“我是回调函数”); } functionfn2(parameter){ parameter();//调用函数 //这里的parameter是形参代表传进来的函数fn1 } fn2(fn1);//fn1就是一个回调函数