zoukankan      html  css  js  c++  java
  • js 与或运算符 || && 妙用

    如下题用if else实现不同条件下(add_step的变化), add_level的结果值不同:

    var add_level = 0;
    if(add_step == 5){
    add_level = 1;
    }
    else if(add_step == 10){
    add_level = 2;
    }
    else if(add_step == 12){
    add_level = 3;
    }
    else if(add_step == 15){
    add_level = 4;
    }
    else {
    add_level = 0;
    }

    1)以上功能也可以通过switch来实现:

    var add_level = 0;
    switch(add_step){
    case 5 : add_level = 1;
    break;
    case 10 : add_level = 2;
    break;
    case 12 : add_level = 3;
    break;
    case 15 : add_level = 4;
    break;
    default : add_level = 0;
    break;

    2)Javasctipt通过||和&&来实现:

    var add_level = (add_step==5 && 1) || (add_step==10 && 2) || (add_step==12 && 3) || (add_step==15 && 4) || 0;

    3)第2种写法也可以简写为:

    var add_level={'5':1,'10':2,'12':3,'15':4}[add_step] || 0;

    从第2种写法中可以得出一个基本公式:

    add_step==5 && add_level=1

    等价于 <==>

    if(add_step==5){

      add_level = 1

    }

  • 相关阅读:
    POJ 1017
    poj 2709
    poj 1328
    POJ 2386
    POJ 1065
    POJ 3728
    hdu--1004--Let the Balloon Rise
    hdu--2570--迷瘴(贪心)
    hdu--1257--最少拦截系统(贪心)
    hdu--1230--火星A+B
  • 原文地址:https://www.cnblogs.com/yltleeral/p/3376489.html
Copyright © 2011-2022 走看看