美文网首页
javaScript语句

javaScript语句

作者: Daryl_Z | 来源:发表于2018-04-07 19:05 被阅读0次
    JavaScript 语句分为:
     表达式语句
     声明语句
     分支语句(条件语句)
     循环语句
     跳转语句
    

    1.表达式语句

    123; ‘sss’; true; false; null; undefined;
    12+true; a+b; Number(true);
    
    1.1. 单行语句
    var a = 9; // 单行的赋值语句
    b = a * 9; // 单行语句
    
    1.2 复合语句(语句块)
    复合语句,就是多条语句用花括号括起来,组成的整体就是一个语句块,也称为复合语句,
    在 JavaScript 中会把语句块当成一条语句执行。
    {
          var a = 2;
          a++;
          b = !!a;
    } // 语句块末尾不需要加分号。
    

    2.声明语句

    2.1变量声明语句
    关键字 var
    语法格式:var 变量 1[=值 1][, 变量 2[=值 2]]….;
    例如:
    var a , // a =>undefined
    b =2,
    c = 3;
    
    2.2函数声明语句
    function f() { // function 是关键字,标注:当前为函数声明
          var a = 123;
          a *= 3;
          return a;
    } // 函数的定义用一个语句块包裹。
    
    2.3 if 语句
    简单分支 if 语句
    If 语句是:条件分支语句。
    语法:
    if (表达式) 语句; // 第一种
    if(表达式) // 第二种
    语句;
    if(表达式) { // 第三种,推荐。 语句块;
    } // 语句块结尾不需要加分号。 语义:当表达式为真的时候,执行后面的语句。
    demo:
          if( 233 * 2 > 456) {
                a = 4;
          }
    注意:当 if 语句的执行语句只有单行的时候,可以省略花括号,但是建议不要省略。
    
    2.4 if-else 语句
    如果我需要实现:如果小明的年龄小于 18 岁,那么不给小明啤酒喝,否则给小明啤酒喝?
    else:否则的意思
    if else 语句的格式:
          if(表达式){
              语句;
          }else {
              语句;
          }
    var age = 10;
    // 如果小明的年龄大于 18,给他喝啤酒,否则不给他喝啤酒。
    if(age > 18) { // 如果条件表达式为真值,那么执行紧跟的语句块,
    否则执行 else 语句块
        console.log('小明,大于 18 岁了,可以喝啤酒');
    } else {
        console.log('小明,小于 18,不能喝酒!');
    }
    

    2.5 if else if 语句

    如果有多个条件,分别对应执行多个操作的时候怎么用 if 和 else 实现呢?
    比如: a = 1[2,3--7]; 输出 a= 1,那么输出星期一,2=>星期二..... 语法格式:
    if(表达式) {
        语句;
    }else if(表达式) {
        语句;
    }else if {
        语句;
    } else {
        语句;
    }
    代码:
    var num = 5;
    if( num == 1 ) {
    console.log('星期一');
    } else if( num == 2 ) {
    console.log('星期二');
    } else if( num == 3 ) {
    console.log('星期三');
    } else if( num == 4 ) {
    console.log('星期四');
    } else if( num == 5 ) {
    console.log('星期五');
    } else if( num == 6 ) {
    console.log('星期六');
    } else {
    console.log('星期日');
    }
    
    2.6 If 语句嵌套
    If 语句内部的语句块可以嵌套其他语句及 if 语句
    语法格式:
    if(表达式) {
        if(表达式 2) {
            if(表达式 3) {
                console.log(1);
            }
        }
    }
    案例:
    如果变量 a 是数字类型,那么判断其是否大于 9,如果大于 9 则输出'大于 9', 否则输出:'非法类型'
    // 如果变量 a 是数字类型,那么判断其是否大于 9,如果大于 9 则输出'大于 9', 否则输出
    :'非法类型'
    // 第一步:判断变量 a 是否是数字
    var a = 7;
    // 判断变量 a 的类型,使用 typeof 可以获取它的类型
    if( typeof(a) === "number" ) {
    // 判断 a 是否大于 9
        if( a > 9 ) {
        console.log('大于 9');
        } else {
        console.log('非法类型');
        }
    }
    // 第二步:判断他的大小。
    if语句练习
    • 备注:Math.random()方法会随机返回 0-1之间的小数
      1.声明两个变量a,b,随机赋值 0-10之间的数,然后如果a > b 那么输出 a,如果a = b 输出=号,如
    果 a< b 输出 老马
      2.给定一个数值变量(1-7之间)如果是6、7则输出周末,否则输出工作日. 
      3.判断用户名是否为空。
      4.判断一个变量是不是字符串,如果是字符串请将字符串转为数值类型并返回结果。否则,直接把变量
        转成boolean类型输出结果。
    

    4.While 语句

    如何实现用 js 计算 1 到 100 的和呢?
    1+2+3+4....?
    while 就是循环语句的一种。 语法:
    while(表达式) {
            语句;
    }//语义:当满足条件时,循环执行语句,直到表达式不成立
    demo:
    var i = 0,sum = 0;
    while( i <= 100){
        sum += i;
        i++;
    }
    案例 1:输出 10 个(0-100 之间)随机数Math.random() // => 0-1 之间的一个小时。
    0-100 的随机数,那么就需要 *100
    var i = 1; // 循环的索引。
    // 当 满足这个判断表达式为真值的时候,不断进行循环执行语句块。
    while(i <= 100) {
    // 循环体语句块。
        t += i; // t =>1+2=>3 => 6
        i++; // i =>2 , i => 3 => 4
    }
    console.log(t);
    // 第一步: 判断 判断表达式是否为 真值(1,true、非空字符串等)
    // 第二步: 如果是真值 那么执行 while 的语句块,否则结束 while 语句的循环,继续执行后面的
               语句。
    // 继续重复第一步和第二步。
    案例 2:实现 1 到 10 的阶乘?
    var i = 1, result = 1;
    while( i <= 10 ) {
        result *= i;
        i++;
    }
    

    5.do-while 语句

    do-whie 语句就是 while 语句的变种。
    语法格式
    do {
        语句;
    } while(表达式);
    do while 语句就是先执行一个语句块然后在做判断,如果表达式成立继续下一次的语句的执行。
    do while 语句较少使用。
    var i = 0; // 循环的索引
    do {
          console.log(Math.random() * 100);
          i++; // 让索引加 1
          console.log(i);
    } while( i < 10 );
    console.log('循环执行完成');
    

    6. for 循环语句

    for 循环语句是前测试语句,其实本质是 while 循环语句的变种。 语法
    for(初始化语句;判断语句;循环结束执行语句) {
              循环体执行的语句;
    }
    for 语句,现在执行初始化语句,只执行一次。然后根据 判断语句是否为 true,如果是 true 则执行
    循环体,最后执行 结束执行语句,在进行执行判断语句,如果 false,则 for 循环结束。
    // 循环的特点:
    // 1. 都有一个索引变量,。 要么 0,要么 1。 i,k,j 一般都用这些变量名做索引变量。
    // 2. 在循环体内或者每次循环的时候都要对循环的索引+1
    // 3. 都有一个判断表达式进行退出的出口。
    // for( 索引的赋值表达式; 判断表达式; 索引后续处理表达式 ) {
            // // for 循环的语句块
    // }
    // 第一:先执行(索引赋值表达式),而且只执行一次。
    // 第二:执行判断表达式,如果是真值,那么执行语句块。否则结束当前 for 循环语句。
    // 第三:执行完语句块后,执行索引后续处理表达式。
    // 第四:继续重复 第二和第三步骤。
    // 赋值表达式:执行一次。 var i = 1;
    // 判断表达式是每次循环的开始, 然后执行语句块, 最后执行 索引后续处理表达式+1.
    for(var i = 1; i <= 10; i++) {
    // 循环体:每次循环都会执行一次。
          console.log(Math.random() * 100);
    }
    循环案例:
    //1. 求从 1 到 100 的和
    var result = 0; // 放我们最终的计算结果。
    for(var i = 1; i <= 100; i++) {
          result += i;
    }
    console.log(result);
    // 2. 求 10 的阶乘
    var result2 = 1, k;
    for( k = 2; k <= 10; k++ ) {
        result2 *= k;
    }
    console.log(result2);
    

    综合案例:

    1、求 100 以内,可以对 3 求余为 0 的正整数的个数。
    var count=0;
    for(var i=1;i<=100;i++{
        if(i%3 == 0){
            count++;
        }
    }
    console.log(count);
    2、斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、
    21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,
    F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数
    列都有直接的应用。
    规律:前面两数的和等于后面的值。
    请用 JavaScript 实现,求 F(n)的值,n>=3;
    规定:f(1) = 1, f(2) = 1 ,f(3)=2... f(n)
    分别用 for 循环和 while 循环实现
    var fn1 = 1, // 第一个数
    fn2 = 1, // 第二个数
    n = 20, // 求 f(20)的值,n=20
    i, // 循环索引
    result; // 最终的结果
    for( i = 3; i <= n; i++) {
    // f(n) = f(n-1) + f(n-2)
    result = fn1 + fn2;
    // 2 = 1 + 1 第一次循环
    // 3 = 2 + 1 第二次循环
    // 5 = 3 + 2 第三次循环
    // 8 = 5 + 3 第四次循环 ....
    // 下一次循环的时候,fn1 fn2 怎么变?
    // 1. fn1 变成 了当前的 result
    // 2. fn2 变成了 当前的 fn1
    fn2 = fn1;
    fn1 = result;
    console.log(result + ' ');
    }
    console.log(result);
    

    7.continue 语句

    continue 语句也是为了精确控制循环语句。
    js 遇到 continue 语句后,立即结束当前循环轮次,直接把程序跳转到下一个循环的轮次。
    for(var i =0; i<10;i++) {
        if(i %7 == 0) {
            continue; //立即执行 结束执行语句,并执行下次循环
        }
    }
    案例:计算 1-100 的和,去除掉对 3 取余为 0 的数字。
    // 计算 1-100 的和,去除掉对 3 取余为 0 的数字。
    var i = 1, result = 0;
    for(i = 1; i<= 100; i++) {
        if( i % 3 == 0 ) {
        // 不能让当前的 i 参与和的运算了。略过当前的循环轮次。
        continue; // 继续下一轮的循环,当前循环轮次结束。
        }
    result += i;
    }
    console.log(result);
    

    8.break 语句

    break 语句可以用于精确控制循环语句跳出语句块。
    当 js 遇到 break 后,会立即结束当前的循环语句,并强制立即执行循环后面的语句;
    for(var i =0; i<10;i++) {
        if(i %7 == 0) {
        break; //立即结束循环
        }
    }
    

    9.Switch-case 语句

    switch 语句用于基于不同的条件来执行不同的动作。
    default 关键词来规定匹配不存在时做的事情。
    把给一个数字 1-7 之间,根据数字返回相应的星期, 1:星期一,2:星期二... var num = 5;
    switch( num ) {
        case 1: // 当 num === 1 的时候,执行冒号后面的语句。
            console.log('星期一');
            break; // 跳出当前的 switch 语句
        case 2:
            console.log('星期二');
            break;
        case 3:
            console.log('星期三');
            break;
        case 4:
            console.log('星期四');
            break;
        case 5:
            console.log('星期五');
            break;
        case 6:
            console.log('星期六');
            break;
    // case 8:
    // case 9:
    // case 10:
    // console.log('error');
    // break;
    default:
          console.log('星期日');
    }
    

    综合案例

    • 质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然
      数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。
    var count=0,n=11;
    for(var i=1;i<=n;i++){
        if(n%i == 0){
              count++;
        }
    }
    if(count == 2){
        console.log('是质数');
    }else{
        console.log('不是质数');
    }
    • 有一个数:781,判断此数是否是质数?
    var n=781,count=0;
    for(var i=0;i<=n;i++){
        if(n%i == 0){
            count++;
        }
    }
    if(count == 2){
        console.log('是质数');
    }else{
        console.log('不是质数');
    }
    

    相关文章

      网友评论

          本文标题:javaScript语句

          本文链接:https://www.haomeiwen.com/subject/xwgyhftx.html