我正在尝试声明javascript
object properties
。
我有
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";
并且在没有首先声明属性的情况下似乎很好。
有人可以帮助我吗?非常感谢!
答案 0 :(得分:3)
myObj.rowsCount
与rowsCount
变量不同。第一个是对象的属性,另一个是变量(具有相同的名称)。
如果你收到了这个错误(假设它是一个ReferenceError),那是因为当它不存在时,你试图从rowsCount
变量(不是myObj.rowsCount
)中读取。这必须发生在您未向我们展示的代码的某些部分。