在 javascript 中为某些州定义枚举

Define enum in javascript for some states

我需要创建枚举来显示模式,例如 withData、withoutData、mockData 等,此外还有屏幕信息的其他部分我需要为单选按钮创建枚举 withPreview、withoutPreview、fullScreen...

我应该创建一个枚举来满足所有状态,还是应该为所有状态定义两个(如下所示)?
2.如何在代码中使用?

var dataStates = {
    withData: 0,
    withOutdata: 1,
    mockData: 2
};


var displayStates = {
    withPreview: 0,
    withouPreview: 1,
    fullScreen: 2
};

你可以这样定义:

var dataStates = {
    withData: 0,
    withOutdata: 1,
    mockData: 2
};

var displayStates = {
    withPreview: 0,
    withouPreview: 1,
    fullScreen: 2
};

var state = {
    data: dataStates.withData,
    display: displayStates.withPreview
}

然后您可以调用 state.datastate.display,它将 return 数值。如果您需要进行比较,可以使用此 state.data === dataStates.withData 或另一个有效的 enum/object 值。

对于多个州,您可以执行以下操作:

var states = {
    name1: {
       data: dataStates.withData,
       display: displayStates.withPreview
    },
    name2: {
       etc
    }
};

然后调用 states.name1 或您定义的其他内容。