2

这是关于在 jQuery 中使用 OO 概念的。

我想在 jQuery 中创建一个结构数组,以便我可以将一个字符和一个整数保存在与数组元素相同的位置。

我想在数组的每个元素中存储'Y'和2,这样我就可以根据char的值是否为'Y'来改变整数的值。

我有以下代码

        var arrOfArr = new Array(3);
        for (var x = 0; x < arrOfArr.length; x++) {
            arrOfArr[x] = [new struct('Y', 0),new struct('Y', 0),new struct('Y', 0)];
        }

        function struct($user, $turnCount) {
            var user = $user;
            var turnCount = $turnCount;
        }

现在,当我打电话时alert(arrOfArr[0][0].turnCount),它正在给予undefined。但是,如果我定义arrOfArr[0][0].turnCount = 0并再次调用相同的警报,它会给我 0。

您能帮我理解如何在初始化时初始化结构数组吗?

4

2 回答 2

3

您在构造函数中分配给局部变量而不是实例属性。

试着写:

function struct($user, $turnCount) {
    this.user = $user;
    this.turnCount = $turnCount;
}
于 2013-04-14T09:45:12.550 回答
1
var user

var turnCount

是结构范围的私有变量

尝试使用

this.user = $user;
this.turnCount = $turncount;
于 2013-04-14T09:45:56.883 回答