Js流程控制
流程控制
流程控制的分类、;
顺序结构 分支结构 循环结构
顺序结构:程序默认的自上而下的执行过程就是顺序结构~
分支结构:
单项分支
格式1:
If(条件表达式){
Js语句
}
格式2:
If(条件表达式) JS语句
//单向分支 可以使用{}也可以不用
var mc='单身';
if(mc=='单身'){
alert('未婚');
}
有{}的单项分支 条件表达式的结构可以影响多条语句,而没有{}的单线分支只能影响表达式之后的第一条语句
双项分支
格式1:
If(条件表达式){
多条JS语句
}else{
多条JS语句
}
格式2:
If(条件表达式)
1条JS语句
else
1条JS语句
多项分支
Switch..case 分支和php的一致
If..else if..else分支
Else if 不允许携程elseif 中间必须有空格
//多向分支 switch case
//随机产生1-5的数字 random--->0-1之间的数字 *5 Math.ceil()进一法取整
var num=Math.ceil(Math.random()*5);
switch(num){
case 1:
alert(111111111);
break;
default:
alert(5555555555);
break;
}
//if()else if
var num=Math.ceil(Math.random()*5);
if(num==1){
alert(1111111111);
}else if(num==4){
alert(4444444);
}else{
alert(5555555);
}
巢状分支
巢状分支就是单项分支和双项分支等其他if..else分支结构互相嵌套的结果
循环结构:
While循环
do..while循环
for循环
for..in循环 专门用于遍历对象成员的循环结构
格式:
for(var 变量 in 对象){
可以输出对象的成员名或者值.
}
注意:由于for..in循环使用的变量不是一个确定的字符串名称,所以不能使用对象.变量的方式,需要使用对象[变量]的方式才能正确的访问到对象的指定成员值!
<!doctype html>
<script>
//while循环
document.write('<table border="1" width="800" align="center">');
var j=0;
while(j<10){
document.write('<tr>');
var i=0;
while(i<10){
document.write('<td>'+j+''+i+'</td>');
i++;
}
document.write('</tr>');
j++;
}
document.write('</table>');
document.write('<hr color="red">');
//do while 循环
var num=1;
var total=0;
do{
total+=num;
num++;
}while(num<=100)
document.write(total);
document.write('<hr color="purple">');
//for循环
for(var i=1;i<=10;i++){
//console.log(i);
}
//for in 循环
alert(window);
for(var i in window){
console.log(i+'-----'+window[i]);
}
</script>
其他结构:
With语法: 设定对象环境的语法结构
格式:
With(对象){
//JS代码 此处使用指定对象的成员时,不需要指定对象名称
}
注意: 该方式不推荐使用,内存处理有问题,会降低效率.
<!doctype html>
<script>
/*
console.log(location);
console.log(location.pathname);
console.log(location.href);
console.log(location.origin);
*/
with(location){
console.log(pathname);
console.log(href);
console.log(origin);
}
</script>