1
我在函数中使用全局变量,但似乎无法将其设置为某个值。javascript将函数中的全局变量赋值不起作用
我有这样的代码:
<script type="text/javascript">
var chart;
var options = new Object();
getdata = function(){
return $.get('data.php', <?php echo ($params1); ?>, function(tsv) {
var lines = [];
traffic = [];
try {
// split the data return into lines and parse them
tsv = tsv.split(/\n/g);
jQuery.each(tsv, function(i, line) {
line = line.split(/\t/);
date = Date.parse(line[0] +' UTC');
traffic.push([
date,
parseFloat(line[1].replace(',', ''), 10)
]);
});
} catch (e) { }
options.series[0].data = traffic;
});
};
$.when(getdata()).done(function (resp){
chart = new Highcharts.Chart(options);
});
</script>
所以它不工作,除非作者的GetData功能之前,我写:
options.series = {[
}];
能有什么我确实可以确保我可以在函数内部设置变量而无需编写它?
而且,当你的代码执行
options.series[0].data = traffic;
的options
对象不具有series
属性我不能设置像
options.series[0] = {};
如果您有承诺,请勿使用全局变量! – Bergi