js流程控制语句以及基本的判断质数,输出乘法表编程

代码块
一个{}整体,称为一个代码块。
代码块的后边不用再写;
js中的代码块只具有分组的作用,没有其他的用途。
代码块内部的内容,在外部是完全可见的

流程控制语句:
1:条件判断语句
if语句:
if(条件表达式)
    语句
   先对条件表达式进行求值判断,如果表达式的值为true,则执行if后的语句
   如果希望可以控制多条语句,放入{}形成一个代码块。不写只能控制一条语句。
   但是还是尽量放入{}中,即使只有 一条语句。 


prompt()函数,弹出一个输入框,可以定义一个变量接收。
if else 语句可以内部嵌套
<script>
    var grade=prompt("请输入你的成绩");
    if(grade<=100&&grade>=0){
        if (grade==100){
            alert("100,真棒")
        }else if (grade>=80){
            alert("80-100")
        }else if (grade>=60){
            alert("60-80")
        }
        else {
            alert("加油")
        }
    }else{
        alert("输入格式有误")
    }
</script>
prompt()函数返回的是 String
条件分支语句:
switch语句:
switch(条件表达式){
      case  表达式:
             语句...;break;
      case  表达式:
             语句...;break ; 
       ...
      default:
    语句;break;
}
会依次将case语句的值和switch语句的值进行全等比较,全等对执行对应case的语句。
注意每个case语句后要加break,否则会依次执行剩下的所有代码 。
使用switch和if可以互相代替,使用时根据自己的习惯进行选择,
例子:
<script>
    var num=90;
    switch(num/10){
        case 10:
        case 9:
        case 8:
        case 7:
        case 6:
            console.log("合格");
            break;
        default:
            console.log("不合格");
    }
</script>
改进代码结果:
 switch (true) {
        case num>=60:
            console.log("合格");
            break;
        default:
            console.log("不合格");
            break;
    }

循环语句:
while(条件表达式){
   语句..
}
先对表达式进行求值判断,条件满足,值为true,执行循环语句。不满足,退出循环。
do{
    语句..
}while(条件表达式)
do-while先执行循环体,在判断条件。
while先判断条件,在执行循环体。两个功能类似。
区别:do-while保证循环体至少执行一次,而while不能
遇到死循环,遇事先冷静。
for循环()中什么都不写,只写两个;将会是一个死循环。

编程状态:
大的问题拆分成小问题,再逐一侦破;
获取一个数据的不同位数的数字:
获取百位:parseInt(i/100)
获取十位:parseInt((i%100)/10)
获取个位:parseInt(i%10)
判断是否为质数:
 var num=5;
    var flag=true;
    for (var i=2;i<num;i++){
        if (num%i==0){
            flag=false;
            break;
        }

    }
    console.log(flag);

for循环的嵌套功能:
<script>
    for(var i=0;i<5;i++){
        for(var j=0;j<i;j++){
            document.write("*")
        }
        document.write("<br/>")
    }
</script>
外部的for循环实现了限制高度,内部的for循环实现了限制宽度
 for(var i=0;i<6;i++){
        for(var j=0;j<6-i;j++){
            document.write("*")
        }
        document.write("<br/>")
    }
输出一个倒三角

打印一个乘法表
 for(var i=1;i<10; i++){
        for (var j=1;j<=i;j++){
            document.write(j+'*'+i+'='+i*j+'&nbsp;')
        }
       document.write("<br/>")
    }

&nbsp; 表示空格

输出1-100之间的质数:
 for (var i=2;i<101;i++){
        var flag=true;
        for(var j=2;j<i;j++){
            if (i%j==0){
                flag=false;
                break;
            }
        }
       if (flag){
           console.log(i);
       }
    }
优化算法:
只需要检查到平方根处,优化算法
for (var i=2;i<101;i++){
        var flag=true;
        for(var j=2;j<=Math.sqrt(i);j++){
            if (i%j==0){
                flag=false;
                break;
            }
        }
       if (flag){
           console.log(i);
       }
    }

猜你喜欢

转载自blog.csdn.net/weixin_44426449/article/details/107722424
今日推荐