执行后附上Javascript控制台(Chrome版本36.0.1985.125 m)的屏幕截图:
console.log(node)
console.log(node['read_cam0:x'])
console.log(node['label'])
为什么node["read_cam0:x"]
未定义?
在sigma.js添加了问题:https://github.com/jacomyal/sigma.js/issues/361
更新:Firefox控制台显示:
查看左侧对象中缺少的read_cam0
,但右侧显示(点击左侧的对象后)。
答案 0 :(得分:3)
表达式obj["read_cam0:x"]
正如您所期望的那样工作,而不是undefined
。
console.log()
的返回值始终为undefined
(因此屏幕截图中的第二行)。但是,调用该函数会产生副作用,它会将内容记录到控制台(屏幕截图中的第一行)。
在Chrome开发控制台中输入console.log
(而不是在javascript文件中执行)因此总会产生两行:
答案 1 :(得分:1)
显然,chrome控制台会在其中显示对象的更新状态,而其下方的一行会在更新对象之前记录状态。使用setTimeout
确定了问题。
答案 2 :(得分:-1)
这只是意味着您尝试打印到控制台的对象未定义。如果存在,则输出为[Object object]
答案 3 :(得分:-3)
read_com0
是一个对象
试试这个:
console.log(node)
console.log(node["read_cam0"]["x"])