是否有可能在JS中做这样的事情?
var vehicleTable, journeyTable, alertTable, maintenanceTable;
var infoTablesVars = [vehicleTable, journeyTable, alertTable, maintenanceTable];
for (var x = 0; x < infoTablesVars.length; x++){
infoTablesVars[x] = x;
}
编辑:
对于聪明人,我确实试过了。这就是我实际上要做的事情:
$(function(){
vehicleTable = $('#table_vehicleInfo').dataTable({
"bInfo": false,
"bFilter": false,
"bSort": false,
"bPaginate": false,
"bJQueryUI": true,
"bAutoScroll": true,
"bAutoWidth": true,
"sScrollY": "75px",
"sScrollX": "100%"
}); //end vehicleTable
maintenanceTable = $('#table_maintenanceInfo').dataTable({
"bInfo": false,
"bFilter": false,
"bSort": false,
"bPaginate": false,
"bJQueryUI": true,
"bAutoScroll": true,
"bAutoWidth": true,
"sScrollY": "75px",
"sScrollX": "100%"
}); //end maintenanceTable
journeyTable = $('#table_journeyInfo').dataTable({
"bInfo": false,
"bFilter": false,
"bSort": false,
"bPaginate": false,
"bJQueryUI": true,
"bAutoScroll": true,
"bAutoWidth": true,
"sScrollY": "75px",
"sScrollX": "100%"
}); //end journeyTable
alertTable = $('#table_alertInfo').dataTable({
"bInfo": false,
"bFilter": false,
"bSort": false,
"bPaginate": false,
"bJQueryUI": true,
"bAutoScroll": true,
"bAutoWidth": true,
"sScrollY": "75px",
"sScrollX": "100%"
}); //end alertTable
}); //end function()
对此:
var infoTablesVars = [vehicleTable, journeyTable, alertTable, maintenanceTable];
var infoTables = ['#table_vehicleInfo', '#table_journeyInfo', '#table_alertInfo', '#table_maintenanceInfo'];
$(function(){
for (var x = 0; x < infoTablesVars.length; x++){
infoTablesVars[x] = $(infoTables[x]).dataTable({
"bInfo": false,
"bFilter": false,
"bSort": false,
"bPaginate": false,
"bJQueryUI": true,
"bAutoScroll": true,
"bAutoWidth": true,
"sScrollY": "75px",
"sScrollX": "100%"
});
}
}); //end function()
分配永远不会出现在第二部分。
答案 0 :(得分:0)
你可以初始化数组,但是考虑到每个索引总是一个特定的变量,只有通过代码处理它才有可能,你的代码应该是:
var infoTablesVars = [];
for (var x = 0; x < 4; x++){
infoTablesVars[x] = x;
}
或者您也可以尝试See Demo:
var vehicleTable=2, journeyTable=4, alertTable=50, maintenanceTable=67;
var infoTablesVars = [vehicleTable, journeyTable, alertTable, maintenanceTable];
答案 1 :(得分:0)
你不能这样做,但这个可行(但它很脏,我建议你重新考虑这个问题并找到另一种方式):
var vehicleTable, journeyTable, alertTable, maintenanceTable;
var infoTablesVars = ["vehicleTable", "journeyTable", "alertTable", "maintenanceTable"];
for (var x = 0; x < infoTablesVars.length; x++){
self[infoTablesVars[x]] = x;
}