我有一个由很多Symbol
对象组成的数组:
var symbols = {
alpha : new Symbol('alpha', 'symbol_0', 'α', 'GreekSymbol'),
beta : new Symbol('beta', 'symbol_1', 'β', 'GreekSymbol'),
gamma : new Symbol('gamma', 'symbol_2', 'γ', 'GreekSymbol'),
delta : new Symbol('delta', 'symbol_3', 'δ', 'GreekSymbol'),
... about 500 of these different types of symbols...
};
Symbol
对象的第二个参数是一个在HTML中使用的ID。由于HTML规范不允许重复的ID,我希望为每个Symbol
分配一个唯一的ID,并且仍然能够知道这个ID对应于一个Symbol
。因此,我喜欢有symbol_
前缀的想法,但我不喜欢手动输入symbol_0
到symbol_500
的想法。我应该如何生成唯一的ID?当我声明上面的数组时,我能自动化这个过程并生成一个唯一的ID吗?
更新: 这样做客户端是否真的是个好主意呢?
makeCounter
不会每次返回1
? - SirmakeCounter
函数。它在这里被调用:var id = makeCounter();
。之后,你需要调用由makeCounter
返回的函数,我们将其赋值给了id
。这个函数会闭包变量i
,这意味着每次调用都会增加同一个计数器。 - Wayne