JavaScript:未定义对象中的变量

时间:2014-07-21 19:04:35

标签: javascript

尝试在对象变量中存储2D数组时遇到问题。

var prTClass = {
    prT: Create2DArray(5,8),
    setPriceT: function(i,j,price){
        prT[i][j] = price;
    },
    ...
}

Create2DArray()没有抛出任何错误,代码如下:

function Create2DArray(rows,columns) {
    var mat = [];
    for(var x = 0; x < rows; x++){
        mat[x] = [];    
        for(var y = 0; y < columns; y++){ 
            mat[x][y] = 'X';    
        }    
    }
    return mat;
}

我收到的邮件错误是&#34;未捕获的ReferenceError:未定义prT&#34; 。 我还尝试使用init()函数实例化变量,如下所示:

prT: [],
init: function(){
    this.prT=Create2DArray(5,8);
},

问题是什么?谢谢。

1 个答案:

答案 0 :(得分:2)

您缺少this。您永远不能仅仅prT访问prT。您必须始终在该对象的上下文中以this.prT或从外部prTClass.prT访问它。