zoukankan      html  css  js  c++  java
  • 9、枚举(Enum)

    枚举是组织收集有关联变量的一种方式

    // 定义一个枚举

    enum Tristate {

    False,

    True,

    Unknow

    }

    // 编译成js以后

    var Tristate;

    (function(Tristate) {

    Tristate[(Tristate['False'] = 0)] = 'False'

    Tristate[(Tristate['True'] = 1)] = 'True'

    Tristate[(Tristate['Unknow'] = 2)] = 'Unknow'

    })(Tristate || (Tristate = {}))

     

    // 先让我们聚焦Tristate[(Tristate['False'] = 0)] = 'False' 这行代码,其中Tristate[(Tristate['False'] = 0)] = 'False'的意思是将 Tristate 对象里的 False 成员值设置为 0 。注意 JavaScript赋值运算返回的值是被赋予的值(在此例子中是0),因此下一次 JavaScript 运行时执行的代码是 Tristate[0] = 'False'。意味着你可以使用 Tristate 变量来吧字符串枚举类型改造成一个数字或是数字类型的枚举类型 如下:

    enum Tristate {

    False,

    True,

    Unknow

    }

    console.log(Tristate [0]); // => ''False'

    console.log(Tristate ['False']); // => 0

    console.log(Tristate [Tristate.False]); // => 'False' because `Tristate.False == 0`

     

    // 默认情况下,第一个枚举值是 0 ,然后每个后续值 依次递增 1

    enum Tristate {

    False, // 0

    True, // 1

    Unknow // 2

    }

     

    // 但是,你可以通过特定的赋值来改变给任何枚举成员关联的数字,如下例子,我们可以从3开始依次递增

    enum Tristate {

    False = 3, // 3

    True, // 4

    Unknow // 5

    }

     

  • 相关阅读:
    FZU 1005 Fast Food(dp)
    POJ 3186 Treats for the Cows(区间DP)
    2016郑州轻工业学院校赛 B 蛤玮的财宝
    c++大数模板
    2015轻院校赛 H五子棋
    poj 1015 Jury Compromise
    modbus协议说明(转)
    STM32 flash 内存分布介绍
    STM32 程序所占用空间计算 && FLASH存储的起始地址计算
    C float与char数组 互转
  • 原文地址:https://www.cnblogs.com/shixiaokeng/p/14395823.html
Copyright © 2011-2022 走看看