2016-06-21 71 views
-2

我看到一個看起來很好的代碼語法錯誤,也錯誤沒有意義,這表明有一些犯規。但是,我似乎無法確定它。在第一行,「aoColumns: [」它聲明在語句前有一個缺失的分號。這是有問題的代碼:語法錯誤:缺少;之前的聲明

<script type="text/javascript"> 
"aoColumns": [ 
     { "sTitle": "", "mData": null, "bSortable": false, "sClass": "head0", "sWidth": "55px", 
     "render": function (data, type, row, meta) { 
      if (data.IsDirectory) { 
      return "<a href='#' target='_blank'><i class='fa fa-folder'></i>&nbsp;" + data.Name +"</a>"; 
      } else { 
      return "<a href='/" + data.Path + "' target='_blank'><i class='fa " + getFileIcon(data.Ext) + "'></i>&nbsp;" + data.Name +"</a>"; 
      } 
     } 
     } 
    ] 
"fnCreatedRow": function(nRow, aData, iDataIndex) { 
     if (!aData.IsDirectory) return; 
     var path = aData.Path; 
     $(nRow).bind("click", function(e){ 
     $.get('/files?path='+ path).then(function(data){ 
      table.fnClearTable(); 
      table.fnAddData(data); 
      currentPath = path; 
     }); 
     e.preventDefault(); 
     }); 
    }; 
    </script> 
+1

通常由虛假的兔耳,支具,括號或不匹配的括號引起。 –

+1

'「aoColumns」:[如果它不在對象初始值設定項內,則語法錯誤。 –

+0

你在使用圖書館嗎? –

回答

1

你有什麼看起來像一個對象初始化的內容,但沒有開始和一個結束。舉例來說,這是有效的:

var object = { 
"aoColumns": [ 
     { "sTitle": "", "mData": null, "bSortable": false, "sClass": "head0", "sWidth": "55px", 
     "render": function (data, type, row, meta) { 
      if (data.IsDirectory) { 
      return "<a href='#' target='_blank'><i class='fa fa-folder'></i>&nbsp;" + data.Name +"</a>"; 
      } else { 
      return "<a href='/" + data.Path + "' target='_blank'><i class='fa " + getFileIcon(data.Ext) + "'></i>&nbsp;" + data.Name +"</a>"; 
      } 
     } 
     } 
    ], 
"fnCreatedRow": function(nRow, aData, iDataIndex) { 
     if (!aData.IsDirectory) return; 
     var path = aData.Path; 
     $(nRow).bind("click", function(e){ 
     $.get('/files?path='+ path).then(function(data){ 
      table.fnClearTable(); 
      table.fnAddData(data); 
      currentPath = path; 
     }); 
     e.preventDefault(); 
     }); 
    } 
}; 

的變化是:

  • 添加var object = {頂部
  • 卸下;從曾經是在結束};,使其只}
  • 添加一個};關閉對象
  • 添加一個,aoColumns陣列上的收盤]
0
var obj = { 
    "key": value 
}; 

哪裏是你的大括號?你只是試圖定義對象鍵而不把它們放在對象上,所以這就是爲什麼你會得到語法錯誤。

var my_object = { 
    "aoColumns": [ 
     // code here 
    ], 
    "fnCreatedRow": function(nRow, aData, iDataIndex) { 
     // function definition here 
    } 
}; 
0

你在那裏有沒有有效的JavaScript語法。

假設你想分配一個數組變量aoColumns,請執行以下操作:

var aoColumns = [ 
    { "sTitle": "", "mData": null, "bSortable": false, "sClass": "head0", "sWidth": "55px", 
    "render": function (data, type, row, meta) { 
     if (data.IsDirectory) { 
     return "<a href='#' target='_blank'><i class='fa fa-folder'></i>&nbsp;" + data.Name +"</a>"; 
     } else { 
     return "<a href='/" + data.Path + "' target='_blank'><i class='fa " + getFileIcon(data.Ext) + "'></i>&nbsp;" + data.Name +"</a>"; 
     } 
    } 
    } 
] 

同樣的事情fnCreatedRow

如果您正在嘗試創建一個JavaScript對象與上面提到的兩個元素相反,請查看其他答案。

相關問題