Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回未定义的特殊Javascript库_Javascript_Data Structures_Google Visualization - Fatal编程技术网

返回未定义的特殊Javascript库

返回未定义的特殊Javascript库,javascript,data-structures,google-visualization,Javascript,Data Structures,Google Visualization,正如在标题中所说,我正在尝试从头创建一个Javascript库,它必须调整使用GoogleChart创建的图表的输出 为了更好地解释,不要这样做: var options = { title: 'Top Consuming Nations - Thousand barrels daily', hAxis: {title: 'Year'}, width: 1050, height : 400, vAxes: [ {title: 'T

正如在标题中所说,我正在尝试从头创建一个Javascript库,它必须调整使用GoogleChart创建的图表的输出

为了更好地解释,不要这样做:

var options = {
      title: 'Top Consuming Nations - Thousand barrels daily',

      hAxis: {title: 'Year'},
      width: 1050, height : 400,

      vAxes: [
       {title: 'Top Countries', titleTextStyle: {color: '#FF0000'},  maxValue: max},  // Left axis maxValue: 60000
       {title: 'Total World', titleTextStyle: {color: '#FF0000'},  maxValue: tot}  // Right 
      ],
      series:{
        6: {targetAxisIndex: 1}
      },
      legend: { position: 'top', alignment: 'start' },
    };

    var chart = new google.visualization.LineChart(document.getElementById(chartDiv));

    chart.draw(data, options);
我想使用我创建的库(skewedChart)执行类似操作:

这是我的库的代码,包含在skewedChart.js文件中:

    var skewedChart = {};
    skewedChart.visualization = {};

    skewedChart.visualization.LineChart = function(location) {
        this.chart = new google.visualization.LineChart(location) ;
        this.draw = function(data,option) {
            option.height = this.skewHeight(option.width, option.skew) ;
            option.vAxes[0].maxValue = this.skewMax(option.vAxes[0],option.skew) ;

            this.chart.draw(data,option);
        }
        this.skewHeight= function(width,skewFactor) {

        }
        this.skewMax= function(series, skewFactor) {

        }
    };

问题是图表返回“未定义”,为什么?如何才能做得更好?

如果函数调用中没有返回任何内容,它将返回未定义的内容,这就是您看到的内容。您需要添加
并返回此信息在函数的末尾。

你没有返回任何东西…@epascarello甚至我也注意到了同样的情况
    var skewedChart = {};
    skewedChart.visualization = {};

    skewedChart.visualization.LineChart = function(location) {
        this.chart = new google.visualization.LineChart(location) ;
        this.draw = function(data,option) {
            option.height = this.skewHeight(option.width, option.skew) ;
            option.vAxes[0].maxValue = this.skewMax(option.vAxes[0],option.skew) ;

            this.chart.draw(data,option);
        }
        this.skewHeight= function(width,skewFactor) {

        }
        this.skewMax= function(series, skewFactor) {

        }
    };