如何访问含数字开头字段的API?CoinMarketCap API调用报错解决
解决JavaScript中访问以数字开头的对象属性的语法错误
这个问题我太熟悉了!当对象的属性名以数字开头或者包含连字符这类特殊字符时,JavaScript的点语法就会失效,这正是你碰到语法错误的核心原因。
正确的解决方案
你只需要把属性名以字符串形式放在方括号中来访问,替换掉原来的点语法就行。修改后的代码如下:
var bitcoinvolume24 = "$" + r[0]["24h_volume_usd"] + "";
为什么这个方法可行?
- JavaScript的点语法对属性名有严格要求:必须是有效的标识符,也就是不能以数字开头,不能包含连字符、空格这类特殊字符(下划线和美元符号除外)。
- 而方括号语法允许你用字符串引用任意属性名,不管它是不是符合标识符规则,刚好能适配这种API返回的特殊字段名。
额外小提示
之后如果遇到其他类似的特殊字段(比如1h_change这类),都可以套用这个方法,方括号语法是处理这类场景的万能方案。
内容的提问来源于stack exchange,提问作者D.D.
相关产品推荐
相关产品推荐

