【问题标题】:Uncaught SyntaxError: Unexpected token else未捕获的 SyntaxError:意外的标记 else
【发布时间】:2014-04-16 04:08:10
【问题描述】:

我总是收到这个错误“Uncaught SyntaxError: Unexpected token else”。但是我在我的代码中找不到上述错误。我已经检查了括号,它没有拧紧。请帮我找出错误是什么。谢谢!

这是代码(此代码由 xslt 自动转换):

 <html>
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <script type="text/javascript" src="https://www.google.com/jsapi"></script><script type="text/javascript">
  google.load("visualization", "1", {packages:["corechart"]});
  </script>
  </head>
  <body># Of Issues (all) Per HelpDesk Agent Per Day<div id="chartdiv_1"></div><script type="text/javascript">
google.setOnLoadCallback(drawChart_1);
function drawChart_1() {
    var isProportional=1;
    var chart = new google.visualization.ColumnChart(document.getElementById('chartdiv_1'));
    var options = {width:1000, height:400, isStacked: true};
    var data = google.visualization.arrayToDataTable([
['Date','User1','User2','User3']
,['01/21/2014',5,0,0]
,['01/22/2014',0,13,0]
,['01/23/2014',0,4,0]
,['01/24/2014',7,0,0]
,['01/25/2014',0,0,0]
    ]);
    if (isProportional==1) {
        var view  = new google.visualization.DataView(data);
        var columns=[0];
        for (var i=1; i &lt; data.getNumberOfColumns(); i++) {
            columns.push({
                type: 'number',
                label: data.getColumnLabel(i),
                calc: (function (col) {
                    return function (dt, row) {
                        var val = dt.getValue(row, col);
                        var total = 0;
                        for (var j = 1; j &lt; dt.getNumberOfColumns(); j++) {
                            total += dt.getValue(row, j);
                        }
                        return (total == 0) ? null : {v: val / total, f: val.toString()};
                    };
               })(i)
            });
            columns.push({
                type: 'string',
                role: 'annotation',
                sourceColumn: i,
                calc: 'stringify'
            });
            view.setColumns(columns);
            chart.draw(view, options);
        } else {
            chart.draw(data, options);
        }
    }
</script></body>
</html>

【问题讨论】:

    标签: javascript jquery html google-chrome


    【解决方案1】:

    第 25 行,for (var i=1; i &amp;lt; data.getNumberOfColumns(); i++) { 应该是 for (var i=1; i &lt; data.getNumberOfColumns(); i++) {(注意

    【讨论】:

    • 但我使用 <由于 xslt 规则,所以我认为这不是错误的原因
    • 是的,我知道,但是 html 文件由 xslt 转换,我尝试更改 <进入
    • 稍微清理一下代码后,你可以看到 else 也在你的 if 语句中,它应该在它下面
    • @Yang 它至少应该告诉你错误发生在哪一行。你能在你的问题中指出这条线吗?
    【解决方案2】:

    我用 JSHint 对你的代码进行了 Linted,但你并没有关闭你的第一个 for 语句。如果你真的需要在script标签里面写代码,我真的推荐使用Lint工具在外部文件中写,然后复制粘贴,这样可以防止这样的错误。

    【讨论】:

    • 可以确认 for 循环的关闭 } 不存在(并导致我的 IDE 中出现语法错误),并添加它可以修复错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 2013-04-16
    • 2013-01-04
    相关资源
    最近更新 更多