我想在JavaScript中创建一个关联数组,但使用作为类的一部分定义的常量作为索引。
我想这样做的原因是类的用户可以使用常量(定义事件)来触发操作。
以下是一些代码以说明:
STATE_NORMAL = 0;
STATE_NEW_TASK_ADDED = 0;
this.curr_state = STATE_NEW_TASK_ADDED;
this.state_machine = {
/* Prototype:
STATE_NAME: {
EVENT_NAME: {
"next_state": new_state_name,
"action": func
}
}
*/
STATE_NEW_TASK_ADDED : { // I'd like this to be a constant
this.EVENT_NEW_TASK_ADDED_AJAX : {
"next_state": STATE_NEW_TASK_ADDED,
"action" : function() {console.log("new task added");},
}
}
}
// Public data members.
// These define the various events that can happen.
this.EVENT_NEW_TASK_ADDED_AJAX = 0;
this.EVENT_NEW_TASK_ADDED_AJAX = 1;
我在使用这段代码时遇到了问题。我对JavaScript不太熟悉,但无论我做什么,数组似乎都被定义为字符串而不是常量。有没有办法强制该数组使用常量?