javascript能区分破折号吗?
当我使用 test.tested-by 时,javascript 报告 -by 未定义。我确信测试包含经过测试的属性。这里有什么解决办法吗?
when I use test.tested-by, the javascript reports -by is undefined. I am sure test contains tested-by property. Any solution here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试使用
test['tested-by']
代替。测试者看起来像测试者减去测试者Try using
test['tested-by']
instead. tested-by looks like tested minus by您需要使用:
通过这种方式,您可以提供任何属性名称,甚至是保留关键字(例如“class”)。
You need to use:
This way you can provide any property name, even reserved keywords (like "class").
请参阅此处的另一个问题:哪些字符对于 JavaScript 变量名称有效?
基本上, a - 不是 javascript 中的有效变量字符。
-
字符也不是有效的IdentifierName
字符,这意味着您不能使用点表示法。test.tested-by
不访问属性tested-by
。 (您可以使用test['tested-by']
。)See another question here: What characters are valid for JavaScript variable names?
Basically, a - is not a valid variable character in javascript.
The
-
character is also not a validIdentifierName
character, which means you cannot use the dot notation.test.tested-by
does not access the propertytested-by
. (You can usetest['tested-by']
.)