声明javascript对象属性问题

时间:2013-07-17 21:41:33

标签: javascript object

我正在尝试声明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";

并且在没有首先声明属性的情况下似乎很好。

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

1 个答案:

答案 0 :(得分:3)

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

如果你收到了这个错误(假设它是一个ReferenceError),那是因为当它不存在时,你试图从rowsCount变量(不是myObj.rowsCount)中读取。这必须发生在您未向我们展示的代码的某些部分。