当前位置 博文首页 > 纸飞机博客:运算符/语句

    纸飞机博客:运算符/语句

    作者:[db:作者] 时间:2021-08-16 16:01

    运算符/表达式:

    运算符也叫操作符,是一种符号(比如+、*、/)。用于赋值值,比较值,执行算术运算等。表达式:由一个或多个运算符、操作数组成的运算式,其功能是执行计算,并返回一个值(最终的运算结果)。表达式由一个或多个运算符、操作数组成的运算式,其功能是执行计算,并返回一个值(最终的运算结果)。

    赋值运算

    num = 25;//直接赋值。右侧的值赋给左侧的变量
    x = y = z = 25;//连续赋值。x,y.z均是25 
    a += 25;//复合赋值(还有-=、*=、%=等)。等效于a = a + 25;

    条件运算(三元运算)

    条件表达式?语句1:语句2
    //如果条件表达式值为true或能转化为true,则执行语句1并返回执行结果。反之执行2
    var max = a > b ? a : b;
    //获取a和b中的最大值
    

    等运算

    相等和不相等(==和!=)先隐式转换再比较,

    全等和不全等(===和!==)仅比较不转换。

    66 == "66";//true,比较前字符串转化成数字。
    true == "1";// true,隐式转换大部分都是转换为数字
    66 === "66"; // false
    

    关系运算

    比较两个值之间的大小关系,返回结果都是布尔值。

    25 < 3;// false
    "25" < 3;//false:'25'转化成数值25
    "25" < "3";//true,都是字符串则比较字符编码值
    1 >= true;// true
    1 > "0";//true
    

    加/减运算

    1 + 2;//3,正常数值加
    1 + true;//2.true转化成数值1
    true + true;//2,布尔值转成数值
    "ab" + "c";//"abc",有字符串时加号为连接符5+*5”//“55”,非字符串会转成字符串再连接
    false + "a"; // “falsea"
    1 - '2';//-1,减法一律转为数值
    2 - true; //1,true转换成数值为1
    2 - "";//2,""转换为0
    2 + "";//"2”
    

    乘/除/取余运算

    2 * 1;//2,正常数值相乘
    1 * '2';//2,乘的操作数均转为数值
    1 / '2';//0.5,除的操作数均转为数值
    12 % 5;//2,取余
    n % 2;//判断奇偶数:为0是偶数,1则为奇数
    

    自增/自减运算

    x++; //后置,先将x的值作为结果返回,然后x再自增。
    ++x; //前置,x先自增,然后再把自增后的值作为结果返回。
    

    逻辑运算

    (1) "&&",与运算:只有前后两个值都是true,则返回true。只要有一个false,就返回false。

    true && false;// false
    true && true;// true
    false && false; //false
    false && true;// false
    

    && 号前后不全是布尔类型的情况(遵行短路原则):如果第一个值能转为false,结果为第一个值,不会再往后执行。如果第一个值能转为true,结果为第二个值。

    2 && 1; //1
    "" && 1; //""
    

    (2) "||”,或运算:只有前后都是false的时候才返回false。只要有一个true,就返回true。

    true || false; // true
    false || true; //true
    true || true;// true
    false || false; //false
    

    || 号前后不全是布尔类型的情况(遵行短路原则):如果第一个值能够转为true,结果就是第一个值,不会再往后执行。如果第一个值能转为false,结果为第二个值。

    "" ||'abc';//'abc'
    0 || 7;/7
    'a' || 'b'; //"a"
    

    (3) "!",非运算:先把数据转化为布尔值,然后取反所以!为强制转化为bool值。

    10; //true
    !!'abc'; //true
    !!""; //false
    

    语句也称流控制语句? ????

    if语句

    if (i > 30){
        alert("大于 30");
    }else{
        alert("小于等于30");
    }

    其中if()括号内可以是任意表达式,求值结果不一定为布尔值,但是js会自动调用Boolean()函数将结果转化为布尔值。

    迭代语句

    (1) while

    var i = 0;
    while (i < 10) {
     i+=2;
    }
    

    (2) for

    var iCount = 6;
    for(var i = 0;i < iCount;i++) {
        alert(i);
    }
    

    ?(3) for in
    枚举对象的属性

    for (sProp in window){
        alert(sProp);
    }
    

    break 和continue 语句?

    (1) break

    var iNum = 0;
    for (var i = 1;i < 10;i++) {
    if (i % 5==0){
        break://立即退出循环
    }
    iNum++;
    }
    alert(iNum);//输出"4"
    

    ?(2) continue

    var iNum = 0;
    for(var i = 1; i < 10; i++) (
    if (i % 5 == 0){
        continue;//退出(跳过)当前循环
    }
    iNum++;
    }
    alert(iNum);//输出“8"
    

    switch 语句?

    switch (i){
      case 20: 
        alert("20");
        break;
      case 30: 
        alert("30");
        break;
      case 40: 
        alert("40");
        break;
      default:
        alert("other");
    }
    

    cs