未捕获的SyntaxError:意外的标识符JS错误

时间:2015-05-13 15:12:29

标签: javascript jquery

我从JQuery代码中收到错误,返回错误:Uncaught SyntaxError: Unexpected identifier

这对我不起作用:

var Script = function () {
        $(function () {
        Morris.Area({
        element: 'hero-area',
        data: [
{period: 'January', Total Deposit: 19000, Total Fee Payments: -744.3, Total Settlement Payout: 24900, Total Contracts: 1825},
{period: 'February', Total Deposit: 11000, Total Fee Payments: -189.9, Total Settlement Payout: 6400, Total Contracts: 429},
{period: 'March', Total Deposit: 14000, Total Fee Payments: -206.1, Total Settlement Payout: 3955, Total Contracts: 743}],
          xkey: 'period',
          ykeys: ['Total Deposit', 'Total Fee Payments', 'Total Settlement Payout', 'Total Contracts'],
          labels: ['Total Deposit', 'Total Fee Payments', 'Total Settlement Payout', 'Total Contracts'],
          hideHover: 'auto',
          lineWidth: 1,
          pointSize: 5,
          lineColors: ['#4CD964', '#007AFF', '#FFCC00'],
          fillOpacity: 0.5,
          smooth: true
        });
    });
 }();

错误出现在这一行:

{period: 'January', Total Deposit: 19000, Total Fee Payments: -744.3, Total Settlement Payout: 24900, Total Contracts: 1825},

虽然以下代码工作正常。

var Script = function () {
        $(function () {
         Morris.Area({
        element: 'hero-area',
        data: [
          {period: '2010 Q1', iphone: 2666, ipad: null, itouch: 2647},
          {period: '2010 Q2', iphone: 2778, ipad: 2294, itouch: 2441},
          {period: '2010 Q3', iphone: 4912, ipad: 1969, itouch: 2501},
          {period: '2010 Q4', iphone: 3767, ipad: 3597, itouch: 5689},
          {period: '2011 Q1', iphone: 6810, ipad: 1914, itouch: 2293},
          {period: '2011 Q2', iphone: 5670, ipad: 4293, itouch: 1881},
          {period: '2011 Q3', iphone: 4820, ipad: 3795, itouch: 1588},
          {period: '2011 Q4', iphone: 15073, ipad: 5967, itouch: 5175},
          {period: '2012 Q1', iphone: 10687, ipad: 4460, itouch: 2028},
          {period: '2012 Q2', iphone: 8432, ipad: 5713, itouch: 1791}
        ],

          xkey: 'period',
          ykeys: ['iphone', 'ipad', 'itouch'],
          labels: ['iPhone', 'iPad', 'iPod Touch'],
          hideHover: 'auto',
          lineWidth: 1,
          pointSize: 5,
          lineColors: ['#4CD964', '#007AFF', '#FFCC00'],
          fillOpacity: 0.5,
          smooth: true
      }); 
    });
 }();

1 个答案:

答案 0 :(得分:3)

您正在尝试使用包含空格的属性名称。你可以这样做,但必须引用名称:

{period: 'January', 'Total Deposit': 19000, 'Total Fee Payments': -744.3, 'Total Settlement Payout': 24900, 'Total Contracts': 1825},

要引用此类属性名称,您必须使用[ ]运算符而不是.

var someObject = // one of your objects with those names

var settlement = someObject['Total Settlement Payout'];

使用单引号或双引号字符无关紧要。

相关问题