2013-07-17 62 views
-3

我想声明javascriptobject properties声明JavaScript对象财产问题

var myObj = {}; 
    var rowsCount, columnsCount, texts; 
    var temp = document.createElement('div'); 
    temp.innerHTML = tableData; //tableData is bunch of tables in html 

    var tables = temp.getElementsByTagName('table') 

    //use tables as array... 
    for(var i = 0; i<tables.length; i++){ 
     var table = tables[i]; 
     myObj.rowsCount = $('tr', table).length; 
     myObj.columnsCount = $('td', table).length/myObj.rowsCount; 
    } 

上面的代码工作。但是,如果我删除

var rowsCount, columnsCount, texts; 

的代码会抱怨rowsCount, columnsCount并没有定义texts

然而,在W3Cschool object页,他们有

person=new Object(); 
person.firstname="John"; 
person.lastname="Doe"; 
person.age=50; 
person.eyecolor="blue"; 

,不受第一申报财产似乎罚款。

有人可以帮我吗?非常感谢!

+2

-1,无法复制。只需将此代码粘贴到Chrome控制台中,并将'tableData'设置为一些随机字符串和'var rowsCount,columnsCount,texts;'注释掉,并且......没有错误。没有看到为什么应该有错误的原因。大概你的问题在你粘贴的代码之外。 –

+0

“*代码会投诉*”是什么意思?请发布确切的错误消息。 – Bergi

回答

3

myObj.rowsCount不一样rowsCount变量。第一个是一个对象的属性,另一个只是一个变量(具有相同的名称)。

如果您收到该错误(假设它是ReferenceError),那是因为您尝试从rowsCount变量(而不是myObj.rowsCount)读取它不存在时。这一定会发生在您未显示给我们的部分代码中。

+0

了解。我只是意识到问题在别的地方。我真的需要现在睡觉.....谢谢! – FlyingCat