【发布时间】:2011-05-06 06:09:59
【问题描述】:
我希望在 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 不太熟悉,但看起来无论我做什么,数组都是用字符串而不是常量定义的。有没有办法强制数组使用常量?
【问题讨论】:
标签: javascript constants associative-array