获取以数字开头的javascript对象属性的访问权限

获取以数字开头的javascript对象属性的访问权限,javascript,object,Javascript,Object,我正在调用一个返回对象的api var rain = data[i].rain; $.get( "http://api.openweathermap.org/data/2.5/forecast?q=London,uk&mode=json&units=metric", function( data ) { var data = data.list; for(var i = 0; i < 12; i++){ var rain = data[i]

我正在调用一个返回对象的api

var rain = data[i].rain;

$.get( "http://api.openweathermap.org/data/2.5/forecast?q=London,uk&mode=json&units=metric", function( data ) {
    var data = data.list;
    for(var i = 0; i < 12; i++){
        var rain = data[i].rain;
        console.log(rain)
    }
});
我原以为
rain.3h
会让我访问0.005和0.03,但事实并非如此。我收到以下错误消息:意外令牌非法


这是因为它以数字开头吗?有人能建议如何访问此属性吗?

是的,因为它以数字开头

您可以这样访问:

rain['3h']

如果对象属性以数字或符号命名,请使用括号表示法。

是,因为它以数字开头

您可以这样访问:

rain['3h']

使用数字或符号命名对象属性时,请使用括号表示法。

如果属性名称是有效标识符,则只能使用点表示法访问属性<代码>'3h'不是,所以请使用方括号表示法。@RobG这样您就可以始终使用括号表示法,但点表示法只能在某些情况下使用?@PaulFitzgerald:是。相关:如果属性名称是有效标识符,您只能使用点表示法访问属性
'3h'
不是,所以使用方括号表示法。@RobG所以你可以一直使用括号表示法,但点表示法只能在某些情况下使用?@PaulFitzgerald:是的。相关:未捕获的TypeError:无法读取未定义的属性'3h'返回此错误
数据[i]。rain['3h']
也许?是的,很好,明白了。谢谢,如果时间允许,我会投票吗?错误:无法读取未定义的属性“3h”返回此错误
data[i]。rain['3h']
也许?是的,一切都好,明白了。谢谢,如果时间允许,我会投票吗