未捕获的引用错误 - 未定义函数

Posted

技术标签:

【中文标题】未捕获的引用错误 - 未定义函数【英文标题】:Uncaught reference error - function is not defined 【发布时间】:2014-04-19 15:08:10 【问题描述】:
function generatePieChart(chartData, counter='', diffSeparator='')     
  var chart;
  var legend;

//chartData = "["+chartData+"]";                        

AmCharts.ready(function () 
    // PIE CHART
    chart = new AmCharts.AmPieChart();
    chart.dataProvider = chartData;
    chart.titleField = "stage";
    chart.valueField = "enquiryCount";
    chart.depth3D = 10;
    chart.angle = 10;

    // LEGEND
    legend = new AmCharts.AmLegend();
    legend.align = "center";
    legend.markerType = "circle";
    chart.balloonText = "[[title]]<br><span style='font-size:14px'><b>[[value]]</b> ([[percents]]%)</span>";
    //chart.addLegend(legend);


    // WRITE
    chart.write("chart_div_"+diffSeparator+"_"+counter);
);




generatePieChart(<?=$data?>,'<?=$i?>','o');

我正在尝试生成图表,因为它需要生成 10 次。因此,我没有放置完整的 jquery,而是将生成部分创建为一个函数,如您所见。然后在调用该函数时,它向我提供了“未捕获的引用错误”的错误消息。 我还检查了许多描述不同解决方案的帖子。我尝试了所有这些,但没有一个有效。 最烦人的是,同样的脚本在 Firefox 中有效,但在 chrome 中无效。

【问题讨论】:

哦,是的!标记。那真是愚蠢。泰。 附注:这与 php 究竟有什么关系?请不要使用与问题无关的标签来标记问题。 @Tularis 我同意,我猜 OP 添加了这个,因为函数的参数是 PHP 变量。我已删除此标签,因为它具有误导性。 【参考方案1】:

以下行不是有效的 javascript

function generatePieChart(chartData, counter='', diffSeparator='') 

从参数中删除=''

参数将默认为调用时传入函数的值的数据类型。无论如何,在您的示例中都是字符串。

【讨论】:

以上是关于未捕获的引用错误 - 未定义函数的主要内容,如果未能解决你的问题,请参考以下文章

未捕获的 ReferenceError:“$ 未定义”[重复]

未捕获的引用错误:未定义 Toastify

未捕获的引用错误:应用引导模板后未定义 $

NodeJS - 未捕获的引用错误:未定义原始

未捕获的引用错误:未在loadEventListeners上定义表单

自定义模块:未捕获类型错误:未定义不是函数