zoukankan      html  css  js  c++  java
  • JavaScript的运算符与流程控制

    一、运算符的详解

      1、算术运算符
      描述:++(自增运算符)、--(自减运算符)
      语法:++num、num++、--num、num--
      功能:对变量本身进行加1或减1
      例子:
        var num = 10;
        num++;  // 相当于num = num+1;
        console.log(num);
          num--;  // 相当于num = num-1;
            console.log(num);
      注意:
       (1)对于自增自减运算符,如果出现在运算子的前面,则先将自己自增或自减,然后再执行当前语句。
       (2)对于自增自减运算符,如果出现在运算子的后面,则先执行当前语句,执行完毕再自己自增自减。
      例子:
           var num =10;
           console.log(++num);  // 先计算本身,再参与语句执行
           console.log(num++);  // 先参与语句执行,再计算本身
           console.log(num);

      2、赋值运算符
      描述:+=、-=、*=、/=、%=
      语法:num+=6;
      解释:表示累加,【num+=6;】相当于【num = num+6;】
      例子:
        var num = 10;
        num+=1;  // num = num+1; num++;
        console.log(num);

      3、比较运算符
      描述:比较运算符能够根据规则比较两个变量的值,返回一个布尔值,用来表示是否满足规则。
      类型:==、===、!==、!===、>、>=、<、<=
      例子:
        var num1 = 15;
        var num2 = 30;
        var num3 = '15';
        console.log(num1==num3);
      思考:数字能够比较大小,那么字符串能不能比较呢?如果能,怎么比较呢?
      js中字符串间的比较是按照位次优先,比较各字符的ASCII码大小,包括数字字符串之间的比较。】
      例子:
        1.console.log("1"<"3");  // true 
        2.console.log('5'<'10');  // false  
        3.console.log("123"<"123");  // false
        4.console.log("abc"<"aad");  // false  补    var item1 = undefined;

          var item2 = null;
          console.log(item1==item2);
          console.log(item1===item2);  // false
          console.log(undefined===undefined);
          console.log(null===null);

      4、布尔运算符
      描述:&&(与)、||(或)、!(非)
      语法:
         (1)&&与运算符:(表达式1)&&(表达式2);
              运算符两端表达式结果均为true的时候,整个表达式为true,有一个为false,则整个结果为false
            var num1 = 15;
            var num2 = 30;
            var result = (num1>5)&&(num2<50);
          console.log(result);

         (2)||或运算符:(表达式1)||(表达式2);
           运算符两端表达式任一结果为true的时候,整个表达式为true,两者皆为false,则整个结果为false
           var num1 = 15;
           var num2 = 30;
           var result = (num1>5)||(num2>50);
           console.log(result);

          (3)!非运算符:!(表达式)
          表达式结果为true,则整个表达式结果为false;
          表达式结果为false,则整个表达式结果为true;
          var num1 = 15;
          var result = !(num1>5);
          console.log(result);

      5、运算符优先级(截取常用部分)
        初等单目一二级    //()小括号是初等运算符,因为优先级最高
        乘除取余加减移
        关系等于不等于
        与或赋值终对齐
          注:
          (1)运算符的优先级按照出现的顺序排列,谁先出现谁优先级高。
          (2)
    单目:一个运算数 i++, i--, !a
          
    (3)双目:两个运算数 a+b a-b a*b
            (4)三目:三个运算数 bc=a?b:c; (if(a) bc =b;else bc =c;)

    二、流程控制

    1、if语句
    描述:表示判断表达式是否成立,如果成立执行大括号中的语句。如果不成立直接跳过。
    语法:if(表达式){ 语句; }
    例子:
      var numInput = document.getElementById('num');
      var btn = document.getElementById('btn');
      btn.onclick = function () {
      var num = parseInt(numInput.value);
      //如果用户输入的数字大于10,那么提示合法,否则提示不合法
      if(num>10){
      alert('输入合法');
      }
      if(num<=10){
      alert('输入不合法');
      }
      };

    注意:
      (1)表达式必须放在小括号之中。执行语句必须放在大括号内。
      (2)if条件语句最后不用加分号。
      (3)执行语句如果只有一句,那么大括号可以不写。但是推荐所有情况都加上大括号。
      【如果不写大括号,那么默认if后面的第一个语句是if的执行语句】

     

    2、if-else语句
    描述:如果满足条件执行if中的语句,如果不满足则执行else中的语句。
      if(表达式){
      语句1;
      ...
      }else{
      语句2;
      ...
      }
    例子:
      var num = 10;
      if(num>0){
      console.log('输入合法');
      }else{
      console.log('输入不合法');
      }
      console.log('hello world!');
    注意:
      (1)if-else语句是if的升级版本,表示二元判断,一定会执行一种情况。
      (2)if-else是一个语句,末尾不加分号。并不意味着执行语句不加分号!
      (3)if后面的表达式,只要能返回一个布尔值即可。
    例子:
      var num = 10;
      if(true){
      console.log('输入合法');
      }else{
      console.log('输入不合法');
      }
      console.log('hello world!');

     

    3、if-else if语句
    描述:
      判断表达式1是否成立,如果表达式1成立执行语句1并if结构立即结束。
      如果不成立则判断表达式2是否成立,如果表达式2成立执行语句2并if结构立即结束。
      如果不成立则判断表达式3是否成立,如果表达式3成立执行语句3并if结构立即结束。
      ...
      如果以上所有条件都不成立,则直接执行else语句,并立即结束。

    语法:
      if(表达式1){
      语句1;
      }else if(表达式2){
      语句2;
      }
      ...
      else{
      语句4;
      }
    注意:
      (1)if-else if末尾没有分号
      (2)else语句不能单独存在,总是向上查找离他最近的if,构成if-else结构
      例子:
        var bmi = 22.9;
        if(bmi>22.3&&bmi<23.9){
        console.log('健康');
        }else if(bmi<22.3){
        console.log('太瘦了');
        }else{
        console.log('太肿了');
        }

     

    4、switch
    描述:在多种情况下判断,并选择一种情况执行的语句结构。
    语法:
      switch (表达式){
      case 结果1:{执行语句1;...}
      break;//当执行了语句1之后,能够跳出并结束switch语句
      case 结果2:{执行语句2;...}
      break;
      ...
      default:{执行语句n;}
      }
    解释:如果【表达式的结果】等于【结果1】,就执行语句1,并结束switch。
    如果不等于,则判断是否等于结果2,如果等于就执行语句2,并结束switch。
    如果不等于,则判断是否等于结果3,如果等于就执行语句3,并结束switch。
    ...
    如果所有case后面的结果都不满足,那么直接执行default后面的语句,并结束switch。
    注意:
      (1)switch语句当中case后面的break必须要写。如果不写,则会从满足的这个case开始将后面所有的情况全都执行一遍。
      (2)default语句理论上可以不写,如果不写当都不满足时switch直接跳出。
      (3)switch语句一定会执行一种情况对应的语句(语法结构完整情况下)

     

    5、while循环语句
    描述:当满足循环条件的时候执行循环体,直到不满足为止,跳出循环。
    语法:
      while(循环条件){
      循环体
      }
    注意:
      (1)循环变量必须在循环中,向着循环结束的方向发生变化。
      【如果不改变,或改变方向反了,则会将循环变成无限循环。也叫死循环。】
      (2)while循环最少执行次数为0次
      (3)循环执行开始之前,循环变量必须先赋初值
      (4)循环体中如果只有一条语句,那么大括号可以不写。(最好写上)
      (5)while循环末尾没有分号!
    例子:
      输出10以内的偶数

      var num = 1;
      while(num<11){
      //只要满足条件,就意味着num还在1-10之间。
      //那么就判断num当前是不是偶数即可。
      if(num%2==0){
      console.log(num+'是偶数');
      }
      num++;
      }

     

    6、do-while循环语句
    描述:先执行一次循环体。
    然后判断循环条件,如果满足则继续执行循环体。
    如果不满足,则跳出循环,循环终止。
    语法:
      do{
      循环体
      }while(循环条件);

    说明:do-while循环的注意事项、逻辑结构基本都和while循环相同,
    唯一的区别就是do-while循环会先执行一次循环体,
    而while循环则是先判断循环条件。
    例子:
      var i = 0;
      do{
      if(i%2==0){
      console.log(i+'是偶数');
      }
      i++;
      }while(i<10);

     

    7、for循环语句
    描述:能够设定循环多少次,并直接设定循环条件和循环增量的语法结构。
    语法:
      for(表达式1;表达式2;表达式3){
      循环体
      }
    例子:
      for(var num = 0; num<10; num++){
      console.log(num);
      }
    解释:
      【1】执行表达式1:var num=0; 循环变量赋初值
      【2】执行表达式2:num<10; 判断循环能否继续执行
      (1)满足条件,循环继续,执行循环体
      (2)不满足条件,循环终止
      【3】因为满足条件,因此执行循环体:console.log(num);
      【4】执行表达式3:num++; 让循环变量向着循环结束的方向变化
      【5】执行表达式2...
    注意:
      (1)表达式1可以不写,如果不写需要在for循环之外,给循环变量赋初值
      (2)表达式2可以不写,如果不写代表循环条件恒成立(死循环)
      (3)表达式3可以不写,如果不写需要在for循环的循环体中,让循环变量发生改变
      (4)三个表达式实际上可以都不写,但是用于间隔的分号必须写!

     

    8、辅助流程控制语句
    1.break
    描述:用来终止代码块或者循环,循环立即终止。
    例子:
      for(var i = 0;i<100;i++){
      if(i == 10){
      console.log('我需要这个10');
      break;//循环在此立即终止
      }
      console.log(i);
      }

    2.continue
    描述:用来终止本次循环,并立即开始下一次循环,循环不终止。
    例子:
      for(var i = 0;i<100;i++){
      if(i == 10){
      console.log('我需要这个10');
      continue;//立即终止本次循环,并立即开始下一次循环。
      }
      console.log(i);
      }

  • 相关阅读:
    VB.NET中对象的克隆 利用了内存流内象和序列化
    关于对象组件编写的一点想法
    虽然有人说什么和平第一, 经济第一, 可是我怎么能不因为愤怒而发抖?
    用C# 调用MS speech引擎, 让电脑读文本, 或是存到WAV文件里去.
    抽空看了一下 dockpanel suite, 知道如何用了, 立此存照
    dn081A
    如何列出某类型的所有成员
    上周买了毛爷爷传
    【转载】MySQL双主双从高可用集群架构
    【转载】MySQL和Keepalived高可用双主复制
  • 原文地址:https://www.cnblogs.com/meijifu/p/12113255.html
Copyright © 2011-2022 走看看