变量名称的前导数会引发错误

时间:2017-02-24 23:37:43

标签: jquery error-handling

我声明了一个具有动态名称的变量。

var 8inuf3k9r2ggp914zey8hn6vgwky3aqalr4zi6a01yx4x8cdv4eqlby9i6a9v9j4 = pusher.subscribe('channel');

Chrome会抛出错误“Uncaught SyntaxError:Unexpected number”。

我确信问题是我的一些员工ID带有一个数字。我拥有以alpha开头的任何员工ID都没有问题。我确信有一个简单的解决方案,但我在谷歌搜索正确的东西时遇到了麻烦。如果需要,我会发布实际代码,但问题非常简单。

Long var name是动态员工编号。

2 个答案:

答案 0 :(得分:2)

我不完全确定您要尝试实现的目标,但您无法使用数字来引导变量名称。

您可以使用关联数组:

var employee = [];
employee["8inuf3k9r2ggp914zey8hn6vgwky3aqalr4zi6a01yx4x8cdv4eqlby9i6a9v9j4"] = pusher.subscribe('channel');

答案 1 :(得分:1)

Andrew Li所述,您无法使用数字启动标识符(在您的情况下,是一个可变名称)。

如果您真的想这样做,请使用:

window[employee_id] = 'data';
console.log(window[employee_id]);

请注意,出于安全原因,将用户输入用作变量名是非常糟糕的做法。请考虑使用数组。