【发布时间】:2014-11-18 04:50:21
【问题描述】:
以下代码运行良好:
function a() { console.log("a"); };
function b() { console.log("b"); };
var F = {1:a,2:b};
F[1](); // log "a"
F[2](); // log "b"
但这个没有:
function a() { console.log("a"); };
function b() { console.log("b"); };
var A = 1;
var B = 2;
var F = {A:a,B:b};
F[A](); // log "TypeError : F[A] is not a function"
这个想法是 A 和 B 将是常量整数,仅用于代码可读性。我知道 javascript 中没有“const”,但你明白了。
获得这样的工作的干净方法是什么? (我不太关心 A 和 B 最后是否有效不变,只是将它们大写表示我未来不会改变它们的值)。
【问题讨论】:
-
@Bergi 是的。不过,希望我的示例更具可读性。
标签: javascript dictionary constants function-pointers