有时JavaScript与我一起玩(虽然交易是我会玩它)下面的这个测试代码保持抵抗,所以我正在寻找一些帮助更聪明的人在这里。试图获取对象属性中的对象的属性
回答recent question我试着创建一个可读的列表,其中包含Google Advanced Calendar API中可用的所有颜色ID。
该请求是很简单的:Calendar.Colors.get()
的响应是与几个属性,每一个是与其他特性的其他对象的对象。
我可以去到第二级,但最后 - 和在这种情况下,最有用的 - 级返回一个令人不安的“不确定”(见下面的部分日志)
这就是我的问题...
代码注释:
function getColorList(){
var colors = Calendar.Colors.get();
//Logger.log(JSON.stringify(colors));
for(var cat in colors){
Logger.log("category "+cat+" = "+JSON.stringify(colors[cat])+'\n\n')
}
// from there I try the "event" category
var events = colors["event"];
Logger.log('object colors["event"] = '+ JSON.stringify(events))
// then I try to get every properties in this object
for(var val in events){
Logger.log("key "+val+" = "+JSON.stringify(events[val]))
}
}
完整的日志我小号viewable here(外在保持这一相当短)
与11和性能调试窗口,我可以看到一个'events'对象,(下面的颜色对象),但是当值被记录,它们都是未定义的。所以,我想你是问为什么他们出现在调试窗口中,但不能用代码访问?我不知道。我只能假设“他们”不希望任何人能够访问这些属性。也许这是一个安全的事情?我不知道。有一个'Events'对象:'var events = Calendar.Events.get(calendarId,eventId)' –