【问题标题】:How can include a dot character in enum type name in javascript?如何在javascript中的枚举类型名称中包含点字符?
【发布时间】:2009-12-30 10:21:50
【问题描述】:

我正在使用 javascript 并且有这个枚举:

filterType = { Campaign : 'Campaign', Class : 'Class', Date : 'Date', 
               DateGeq : 'DateGeq', DateLeq : 'DateLeq', 
               DateRange : 'DateRange', Status : 'Status' }

我想把它命名为:

Filter.filterType = { Campaign : 'Campaign', Class : 'Class', Date : 'Date', 
                      DateGeq : 'DateGeq', DateLeq : 'DateLeq', 
                      DateRange : 'DateRange', Status : 'Status' }

解释器不喜欢点字符。

我可以在枚举名称中添加点字符吗???

谢谢!!!

【问题讨论】:

    标签: javascript enums naming


    【解决方案1】:

    您可能会遇到错误,因为您尝试为名为@9​​87654322@ 的类上的filterType 成员分配一个值,但Filter 未定义。如果您先定义Filter,它将起作用。

    var Filter = {};
    

    要在一行中完成所有操作,您可以编写:

    var Filter = { filterType: { ... } };
    

    【讨论】:

    • 只是为了挑剔,javascript中没有类。过滤器是一个对象。
    【解决方案2】:

    我猜你的“过滤器”是未定义的。

    var Filter ={};
    Filter.filterType = {....}
    

    【讨论】:

      【解决方案3】:

      这样怎么样?

      Filter={}
      
      Filter.filterType = { Campaign : 'Campaign', Class : 'Class', Date : 'Date', 
                            DateGeq : 'DateGeq', DateLeq : 'DateLeq', 
                            DateRange : 'DateRange', Status : 'Status' }
      

      【讨论】:

        【解决方案4】:

        JavaScript 中没有枚举。您在此处显示的是一个对象,更具体地说,是使用JSON notation 构造的object literal

        您的第二个示例是尝试在名为Filter 的对象上创建filterType 属性(顺便说一下,这是一个多余的名称)。如果Filter 不存在,则会导致错误(认为它类似于null.filterType,这显然没有任何意义)。您必须首先定义Filter

        要在一个表达式中定义FilterFilter.filterType,可以使用以下符号:

        var Filter = {
            filterType: {
                Campaign : 'Campaign', Class : 'Class', Date : 'Date', 
                DateGeq : 'DateGeq', DateLeq : 'DateLeq', 
                DateRange : 'DateRange', Status : 'Status'
            }
        };
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-04-05
          • 1970-01-01
          • 2014-07-23
          • 1970-01-01
          • 2020-05-30
          • 1970-01-01
          相关资源
          最近更新 更多