• 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

     
     
     
     
  • 相关阅读:
    KVM虚拟化学习笔记系列文章列表(转)
    centos 6.5安装docker报错(查看报错详细信息--推荐)
    利用JMX统计远程JAVA进程的CPU和Memory---jVM managerment API
    OpenJDK和JDK区别
    docker sshd image problem, session required pam_loginuid.so, cann't login
    ssh-keygen
    优秀的软件测试人员必需具备的素质
    java基础篇---I/O技术
    jstl long类型数据转换为日期格式
    apache-hadoop-1.2.1、hbase、hive、mahout、nutch、solr安装教程
  • 原文地址:https://www.cnblogs.com/fron-tend/p/11973498.html
Copyright © 2020-2023  润新知