访问函数内部的变量

Accessing vars inside functions

本文关键字:变量 内部 函数 访问      更新时间:2024-05-28

在以下代码中:

 var pie = [];
function makeChart() {
    new Chart(document.getElementById("canvas").getContext("2d")).Doughnut(
        pie);
};
var data = jQuery.getJSON('xxx', function(data) {
    pie = [{
        value: data.company_live_ads,
        color: "#F7464A"
    }, {
        value: data.total_candidates,
        color: "#46BFBD"
    }, {
        value: data.company_ads_published_3days,
        color: "#FDB45C"
    }, {
        value: data.company_apps_today,
        color: "#4D5360"
    }];
    makeChart();
});

pie-var在JSON函数中更新。然后调用makeChart函数。如果我把console.log(pie)放在makeChart()中,它会打印出带数字的数组pie。然而,由于某些原因,它没有将这个var传递到生成图表的函数中。此外,如果我在这个带有Dummy Data的函数中放入一个var of pie,它就会生成图表。

我想这一定和范围有关,但我有点迷路了。任何帮助都将不胜感激。

JSON将数字作为字符串传递,因此硬编码值可以工作。使用parseInt()更改为数字和生成的图表。