2017-02-18 67 views
0

遗漏的类型错误:在test.js :无法读取性能在buildTable的不确定 “长度”(14 test.js):2TyperError:无法读取未定义的属性“长度”---但它被定义?

我不能完全肯定这里发生了什么。我得到这个错误,这似乎是说我的数组是未定义的,但它的定义?

编辑:它指的是循环中的代码。

var table = document.getElementById("tableBody"); 
buildTable(); 

var toDoArray = []; 


function buildTable(){ 

var retrievedTaskObject = localStorage.getItem("task"); 
var parsedObject = JSON.parse(retrievedTaskObject); 
var addTheTaskName = parsedObject.taskName; 
var addTheTaskDate = parsedObject.taskDate; 

for(i=0; i < toDoArray.length; i++){ 
    addTaskToTable(parsedObject[i]); 
} 



} 

function addTaskToTable(obj){ 
    var row = table.insertRow(0); 
    var cellName = row.insertCell(0); 
    var cellDate = row.insertCell(1); 
    var cellId = row.insertCell(2); 
    var cellCheck = row.insertCell(3); 
    cellName.innerHTML= obj.name; 
    cellDate.innerHTML= obj.date; 
    var checkStuff = "<input type='checkbox'>"; 
    cellCheck.innerHTML = checkStuff; 

} 

function submitForm(name,date) { 
    var addTaskName = document.getElementById("taskName").value; 
    var addTaskDate = document.getElementById("dateTask").value; 
    var taskSomething = getTaskObj(addTaskName,addTaskDate); 
     toDoArray.push(taskSomething); 
     addTaskToTable(taskSomething); 
     var storedArray = JSON.stringify(toDoArray); 
     localStorage.setItem("task",storedArray); 
}; 

function getTaskObj(taskName,taskData){ 
var taskObject = { 
     name: taskName, 
     date: taskData, 
     }; 
return taskObject; 
} 
+0

您在使用功能和ARRY定义阵列之前调用函数。看到我的答案希望这有助于:) – user7417866

回答

0

保持这种调用builtTable函数之前

VAR toDoArray = [];

var toDoArray = []; 
buildTable(); 

您呼叫funtion和使用数组定义之前..

+0

啊啊谢谢你...为什么总是最简单的东西,让我卡住>。> –

+0

欢迎:)不要担心它发生......考虑接受答案,如果它适合你:) – user7417866

相关问题