我一直在名字(ID)中使用带有连字符的属性一段时间了,因为在设置具有相同名称的HTML标记属性时它们非常方便。
在 JavaScript 中,我们执行:
var obj = {'prop-with-hyphen': true}; // ✓
obj['prop-with-hyphen'] = true; // ✓
这是如何运作的?
答案 0 :(得分:0)
因为当您声明obj
正在创建hash时您正在做的事情,JS(像许多语言一样)具有作为本机构造的东西。基本上,您需要设置字符串键,然后再引用它。由于键是一个字符串,它可以由您想要的任何字符组成。 var obj = {'78*(^&%&*#^$)I*(FG*)(&^': "FOO!"};
完全有效(不过为什么你想要这样的密钥,我不知道)。
正如您在原始问题的评论中指出的那样,在变量名中使用连字符会使减法运算符(-
)使用起来相当麻烦。