无法深入查看Firebug中的变量

时间:2011-09-24 17:55:59

标签: javascript api firebug

偶尔在firebug中,我无法在单步执行javascript代码时深入查看变量表达式。有时它是flu flu行为,我会刷新页面,下次我能够向下钻取。然而,有些变量,我永远无法做到。我举个例子:

我正在使用谷歌可视化API,我有以下代码:

var row = tableChart1.getSelection();
var test5 = queryWrapper1;

var dt = test5.currentDataTable;
var dv = test5.currentDataView;

var x = dv.getViewRowIndex(row[0].row);
var y = dt.getRowProperties(row[0].row);
alert(test5.currentDataTable.getRowProperty(row[0].row,"ticker"));

我无法深入研究的变量是y。这是getRowProperties()的文档(这里是链接link to documentation):

  

返回:对象

     

返回指定行的所有属性的映射。请注意   属性对象是通过引用返回的,因此更改了值   检索到的对象在DataTable中更改它们。

关于为什么firebug不会让我检查返回对象的属性的任何解释将非常感激。感谢。

更新:我正在使用firebug 1.7.3。

此处还有我所看到的屏幕截图:screenshot

1 个答案:

答案 0 :(得分:1)

我尝试使用Google的一些示例代码对其进行测试。这不是Firebug的问题。从您对object的通话中返回的dt.getRowProperties(row[0].row);确实是空的。 getRowProperty上的文档提到如果不存在此类属性,则会返回null。如果没有属性,似乎为相关函数getRowProperties返回一个空对象。

某些可视化使用行,列或单元格的属性来更改其行为,如explained in the documentation。您必须使用相关函数显式设置这些属性。

如果你想测试它,为了证明它不是Firebug,改变代码如下:

var row = tableChart1.getSelection();
var test5 = queryWrapper1;

var dt = test5.currentDataTable;
var dv = test5.currentDataView;

var x = dv.getViewRowIndex(row[0].row);

// Add this bit
dt.setRowProperty(row[0].row, 'foo', 'bar');

var y = dt.getRowProperties(row[0].row);
alert(test5.currentDataTable.getRowProperty(row[0].row,"ticker"));