JavaScript学习日志——流程控制

JavaScript学习日志——流程控制

JavaScript提供了三种控制流来控制程序的流程:顺序结构、条件分支和循环语句。


目录


if…else语句

//if语句
document.write("if语句:"+"<br>");
if(array[0]==1){
    document.write("array[0]="+1+"<br>");
}
else{
    document.write("array[0]!="+1+"<br>");
}
var a=true;
if(a){
    document.write("a=true"+"<br>");
}
document.writeln(""+"<br>");

switch case语句

  • 编写代码时,应将出现几率最大的几个条件放在前面,增加执行效率。
  • default语句定义switch的默认情况,并不要求一定有,也不要求要放在最后。
  • 当语句中省略break时,将继续执行下一个case,而不是退出。
//switch case语句
document.write("switch case语句:"+"<br>");
var date=new Date();
var day=date.getDay();
switch(day){
    case 1:{
        document.write("今天是星期一");
        break;
    }
    case 2:{
        document.write("今天是星期二");
        break;
    }
    case 3:{
        document.write("今天是星期三");
        break;
    }
    case 4:{
        document.write("今天是星期四");
        break;
    }
    case 5:{
        document.write("今天是星期五");
        break;
    }
    default:{
        document.write("今天是周末");
        break;
    }
}
document.write("<br>");
document.writeln(""+"<br>");

do…while循环

//do while语句
document.write("do while语句:"+"<br>");
var i=1;
do{
    document.write("这是第"+i+"次显示"+"<br>");
    i++;
}
while(i<=10);
document.writeln(""+"<br>");

for循环

//普通for循环遍历
document.writeln("普通for循环遍历:"+"<br>");
for(var index=0;index<10;index++){
    document.writeln(array[index]+"<br>");
}
document.writeln(""+"<br>");

for…in循环

  • for…in语句用来迭代(或遍历)对象的属性或数组的元素
  • 不能迭代对象的方法
  • 不能迭代静态成员
//for in循环遍历
document.writeln("for in循环遍历:"+"<br>");
for(var index in myObject){
    document.writeln(index+": "+myObject[index]+"<br>");
}
document.writeln(""+"<br>");
//需要换行则在参数中加入"<br>"实现换行

//for in循环遍历结合typeof()
document.writeln("结合typeof():"+"<br>");
for(var index in myObject){
    if(typeof(myObject[index])=="string"){
        document.write(index+": "+myObject[index]+"<br>");
    }
}
document.writeln(""+"<br>");
//此时typeof()返回string值,故等号后为"string"

有关for, for… in, for each… in的比较

  1. 遍历普通数组,建议使用原生的遍历方法for,不要贪图方便,因为for in 和for each in均存在浏览器的兼容问题,不能保证它们对数组的遍历顺序(如果对顺序的不作要求的话,可以使用for in,但本人不建议)
  2. 遍历对象,由于for没办法提供理想的遍历,因而只能选择其他方法。这里建议使用for in,因为for in比for each 更具优势,for in能获取索引和属性值,而for each只能获取属性值,而且for each在很多低版本的浏览器是不支持。

continue、break语句

  • 循环中使用break语句,将跳出此次循环语句
  • switch case中使用break语句,将跳出此次选择语句
  • continue语句用来跳出当前执行的循环,回到循环的条件判断处
//continue,break语句
document.write("continue,break语句:"+"<br>");
var k=1;
while(k<4){
    if(k==1){
        document.write("k="+k+" 通过continue跳出,返回条件测试处<br>");
        k++;
        continue;
    }
    if(k==2){
        document.write("k="+k+" 通过break跳出,跳至循环外<br>");
        k++;
        break;
    }
    else{
        document.write("k="+k+"<br>");
        k++;
    }
}
document.write("<br>");

with语句

  • with语句可以方便地用来引用某个特定对象的方法和属性,使用户不必重复书写对象名称。
//with语句
document.write("with语句:"+"<br>");
var rightNow=new Date();
with(rightNow){
    document.write("year:"+getFullYear()+"<br>");
    document.write("month:"+getMonth()+"<br>");
    document.write("day:"+getDay()+"<br>");
}
document.write("<br>");

总结

  • 第一次在CSDN里写博客,或者说更像是一个学习记录。不久前立志学习Web前端的知识,并且将来想在此领域谋得一份工作,展开自己的职业生涯,今天算是走下了第一步。之前课堂中学习过HTML,CSS以及JavaScript的一些知识,过去半年,脑子中早已所剩无几,所以决定重新开始,更细致地自学一次。
  • 今天看的这些内容,在之前学习过的C、C++、Java、C#、MATLAB中都有涉猎(天哪,我居然学过这么多编程语言),但在JavaScript中,我还是感受到了一些不同。最基本的变量类型var,颠覆了我过去脑海中存留的那些编程习惯。另外,我又对break,continue这两个之前一直是不求甚解的兄弟较深入地研究了一下,总算是分辨了出来。
  • 学习资料中还提到了标签语句、yield语句、let语句,我都还尚未成功实现,查资料后,大概是因为浏览器不兼容的缘故吧,接下来还是继续查查资料,尽快结局遗留问题!
  • 希望我能像三年来坚持乐团训练一样坚持学习知识,记录心得!加油!
  • 去晚训了。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值