zoukankan      html  css  js  c++  java
  • JS系列:三元运算符与循环

     三元运算符

    语法: 条件?成立做的事情:不成立做的事情;<=>相当于简单的if/else判断(简化写法)

    var num = 12;
    if(num>10){
    num ++;
    }else {
    num--;
    }
    => 相当于三元运算符:
    num > 10? num++ : num--;

    特殊情况:

    //=>如果三元运算符中某一部分成立不需要任何的处理我们用null/underfined/void 0...占位即可
    var num=12;
    num>10?num++ : null;
    //=>如果需要执行多项任务,我们用小括号包裹起来,每条语句用逗号隔开
    num=10;
    num>10?(num++,num*=10):null;

    思考题:

    var num =12;
    if(num>0){
    if(num<10){
    num++;
    }else {
    num–;
    }
    }else {
    if(num==0){
    num++;
    num=num/10;
    }
    }
    改成三元运算符:
    var num=12;
    num > 0 ? (num < 10 ? num ++ : num– ) : (num–, num=num/10);

    switch case

    js中的一种判断方式, switch case 应用于变量(表达式)在不同值情况下不同的操作,每一个case结束后都需要加break(结束整个判断)

    var num = 10;
    if(num==10){
    num ++;
    }else if(num==5){
    num--;
    }else {
    num=0;
    }
    改成switch case
    var num = 10;
    switch(num){
    case 10:
    num++;
    break;
    case 5:
    num--;
    break;
    default:
    num=0;
    }
     
    > 不加break,后面的条件不管是否成立,都会被执行;利用此机制,我们可以完成一些特殊的处理,例如:如果num等于10或者5都要做同一件事情,那么我们写在一起,不用加break即可(去掉case10 里面的break)
    • 思考: n++和n=n+1 一样吗?

      1. var n=’10’;
        n = n+1;
        console.log(n) =>101
        //=> 属于字符串拼接,结果是‘101’
        遇到字符串是字符串拼接,遇到数值是数学运算,如果是n++会是数学运算

      =是赋值,==判断是否相等,===判断绝对相等(类型和值都必须相等)

    '10'==10 => true 数值相等,类型不同,相等比较,如果等号左右两边的类型不一样首先转化一样的数据类型,然后进行比较,当前案例是把字符串'10'转化为数字,然后再比较。
    '10'===10 => false 数值和类型都相等。绝对比较,如果两边的数据类型不一样,则直接不想打呢个,它要求类型和值都完全一样才会相等(真实项目中为了保证严谨性,使用绝对等号)
    • switch case中的每一种case情况的比较都是基于”===”绝对相等来完成的。
      例子:

    var num = 5;
    switch(num){
    case 10:
     
    case 5:
    num--;
    break;
    default:
    num=0;
    }
    console.log(num);
    VM1668:12 4

    FOR循环

    作用:按照一定的规律重复去做某件事情,此时需要循环处理。

    var ary = [12,23,34];
    ary
    => {
    0:12
    1:23
    3:34
    length:3
    }
    //输出数组中的每一项内容
    /* ==itar [TAB]键 自动补全循环的代码
    for (var i=0; i<ary.length; i++){
    //=>第一次循环:i=0;i<3..i=1 =>ary[0]
    //=>第二次循环:i=1;i<3..i=2 =>ary[1]
    //=>第三次循环:i=2;i<3..i=3 =>ary[2]
    //=>第四次循环:i=3;i<3 循环结束(本次没有循环)
    console.log(ary['i']);
    }
     
    * 倒着输出:
    var ary = [12,23,34];
    //=> 倒着输出每一项。倒着输出 34 23 12
    //=> ary.length;当前数组中最后一项的属性名(索引)
    for (var i= ary.length - 1; i >= 0;i-- ){
    console.log(ary[i])
    }
    =>
    34
    23
    12
    * 输出奇数项
    var ary= [12,23,34];
    for (var i=0; i<ary.length; i+=2){
    //=> 输出数组中的奇数项内容
    // i = 0 第一项 奇数项
    // i = 1 第二项 偶数项
    // i = 2 第三项 奇数项
    // 索引为偶数,代表奇数项,如果判断当前i的值是奇数还是偶数?
    //12%5:%称为模,用12除以5取余数
     
    console.log(ary[i]);
    }
     
    }
    • FOR循环的语法组成:

      1. 定义初始值 var i = 0

      2. 设置循环条件(条件成立循环继续,不成立循环结束)i< ary.length

      3. 条件成立会执行循环体中的内容(大括号包裹的就是循环体)

      4. 执行步长累加的操作

        • FOR循环的循环体中,两个常用关键字:

      5. continue:继续

      6. break:中端或者结束

        for (var i = 0; i<10;i++){
        if(i<5){
        i++;
        continue; //=> 结束本轮循环(循环体中continue的代码不在执行)继续下一轮
        }
        if(i>7) {
        i + =2;
        break;//=>强制结束循环,不能任何的处理
        }
        i += 3;
        }

      思考题:
      for (var i=1; i<=10; i+=2){
      if(i <= 5){
      i++;
      continue;
      }else {
      i -=2;
      break;
      }
      i–;
      console.log(i);
      }
      =>5

     
     
     
     
  • 相关阅读:
    ASP.NET编程的十大技巧
    C#学习心得(转)
    POJ 1177 Picture (线段树)
    POJ 3067 Japan (树状数组)
    POJ 2828 Buy Tickets (线段树)
    POJ 1195 Mobile phones (二维树状数组)
    HDU 4235 Flowers (线段树)
    POJ 2886 Who Gets the Most Candies? (线段树)
    POJ 2418 Cows (树状数组)
    HDU 4339 Query (线段树)
  • 原文地址:https://www.cnblogs.com/fron-tend/p/11973498.html
Copyright © 2011-2022 走看看