如何打印出 category.uri
的值当对象定义如下:
如果我尝试using object[0].category.@uri
我收到以下错误:
Uncaught SyntaxError: Unexpected token +
如果我尝试不使用@符号,我会得到:
Uncaught TypeError: Cannot read property 'uri' of undef
基本上:当值前面带有 at 符号时,如何读取该值? at 符号是什么意思,又为什么它首先出现在那里? (在这种情况下,我无法控制我正在使用的 REST-API)
最佳答案
Javascript 有两种对象访问符号(称为 member operators ):点符号和方括号符号。它们是相同的:
document.forms
document['forms']
您始终可以使用方括号表示法,但不能始终使用点表示法。因此,如果您的属性名称不符合标识符规则,则需要使用方括号形式。
object[0].category['@uri']
规则是:
A JavaScript identifier must start with a letter, underscore (_), or dollar sign ($); subsequent characters can also be digits (0-9). Because JavaScript is case sensitive, letters include the characters "A" through "Z" (uppercase) and the characters "a" through "z" (lowercase). (MDN)
关于javascript - 如何读取带有 at 符号 (@) 前缀的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17273478/