gpt4 book ai didi

javascript将值分配给函数中的全局变量不起作用

转载 作者:行者123 更新时间:2023-11-28 08:30:06 25 4
gpt4 key购买 nike

我在函数中使用全局变量,但似乎无法将其设置为某个值。

我有这个代码:

<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[0] = {};

最佳答案

当你的代码执行时

options.series[0].data = traffic;

options 对象没有 series 属性。所以 series[0] 是未定义的。您应该在创建 options 对象时或设置它之前定义该属性。

var options = new Object();
options.series = [];

然后,您需要先定义该数组的第 0th 元素,然后才能设置其 data 属性。

options.series[0] = {};

关于javascript将值分配给函数中的全局变量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21975189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com