class CustomTable
{
constructor(div_id, headings) {
this.div = div_id;
this.header_titles = headings;
this.item_list = new Array();
var _this = this;
this.add_item = function(items)
{
_this.item_list.push(items);
console.log(_this.item_list);
}
this.remove_item = function(item_index)
{
_this.item_list.splice(item_index, 1);
console.log(_this.item_list);
}
this.drawTable = function()
{
var t = "<table class='table' style='width:100%'>";
t += "<thead>";
t += " <tr>";
t += " <th>#</th>";
for (var i = 0; i < _this.header_titles.length; i++)
{ t += "<th>" + _this.header_titles[i] + "</th>"; }
t += " <th>Add</th>";
t += " </tr>";
t += "</thead>";
t += "<tbody>";
for (var i = 0; i < _this.item_list.length; i++)
{
t += "<tr>";
t += "<td>" + i + "</td>";
console.log(i);
var subitem_count = _this.item_list[i].length;
// ^^^^^^^^^^^^^^^^^^
// This errors out: TypeError undefined
for (var j = 0; j < subitem_count; i++)
{
t += "<td>" + _this.item_list[i][j] + "</td>"
}
t += "</tr>"
}
t += "</tbody>";
t += "</table>";
document.getElementById(_this.div).innerHTML = t;
}
}
}
var ct = new CustomTable("server_list",["Server Name","IP Address", "RAM in GB"]);
ct.add_item(["QMM-TRGEXCH01","192.168.0.225","2GB"]);
ct.add_item(["QMM-SRCEXCH01","192.168.0.226","2GB"]);
ct.add_item(["QMM-TRGAGENT01","192.168.0.227","2GB"]);
ct.add_item(["QMM-SRCAGENT01","192.168.0.228","2GB"]);
ct.add_item(["QMM-MIGCONSOLE","192.168.0.229","2GB"]);
ct.drawTable();
Please view this JSFiddle왜 내 javascript 코드가 TypeError를 반환하지 않습니까?
나는 모든 곳에서 검색 한 자바 스크립트가 밖으로 erroring 유지 이유를 알아낼 수 없습니다. 이 변수는 범위 내가
_this.item_list [I] .constructor === 어레이를 이용하여 확인하고 그 배열이다.
첫 번째 반복에서이 오류가 발생합니다.
console.log (i); // i = 0 at error
그래서 코드가 범위를 벗어나지 않습니다. 코드에 문제가있을 수 있지만 다른 문제가 있습니다. 바이올린을보고, 내가 그것을 업데이 트하고 = 모든 루프에서 제거하지만 여전히 같은 오류가 발생합니다.
. 또한이 오류가 발생하면 여전히 for 루프의 첫 번째 반복입니다. 나는 여전히 0입니다. – ultimal
@ultimal 업데이트 된 게시물을 확인하십시오. –
고마워요! 고맙습니다! 고맙습니다! 그거였다! – ultimal