当我写这段代码时,我有两个警告“在封闭中使用这个”
function tableIntoJson(){
var tableArray = [];
var columnIndex=0;
var rowIndex=0;
$('table#editable tr:not(#head)').each(function() {
var tableData = $(this).find('td:not(#head)');
tableArray[rowIndex]=[];
if (tableData.length > 0) {
columnIndex=0;
tableData.each(function() {
tableArray[rowIndex][columnIndex]=$(this).text();
columnIndex++
});
}
rowIndex++;
});
var jsonString=JSON.stringify(tableArray);
return jsonString;
}
警告我很烦))。我怎样才能取代“$(this)”?
答案 0 :(得分:3)
即使它是this
的有效使用,如果您想让您的IDE满意,请替换
$('table#editable tr:not(#head)').each(function() {
var tableData = $(this).find('td:not(#head)');
与
$('table#editable tr:not(#head)').each(function(trIndex, tr) {
var tableData = $(tr).find('td:not(#head)');
(和下一个.each
类似)。
它比使用this
更具可读性,因为以这种方式你明确知道每个循环迭代的内容。