晚上调试了一晚上的js,是这样一个情景:c#中通过public形式向前台暴露变量chartProperties,然后客户端解析这个变量,生成客户端能够使用的格式。前台中重要代码如下:
<% for(int index = 0; index < chartProperties.series.Count; index++) { %> var seriesItem = new Array(); var data = new Array(); seriesItem['name'] = '<%= chartProperties.series[index].name %>'; <% for(int j = 0; j < chartProperties.series[index].data.Count; j++) { %> data[<%= j %>] = <%= chartProperties.series[index].data[j] %>; <% } %> // data数据正确alert(data); seriesItem['data'] = data; series[<%= index %>] = seriesItem; <% } %>
我先前的想法是上面的代码生成的series变量使用不能正确的显示数据,于是乎开始各种尝试,纠结之后,突然想想firebug能够对此进行调试,通过调试的形式看看series变量是否已经取到值。
设置断点,refresh页面,firebug将提在设的第一个断点处,F8运行到下一个断点处。通过调试发现series中数据时正确的,那好的,只能是该变量使用处出了问题,查看,果然bug出在此。