这是关于在jQuery中使用OO概念。
我想在jQuery中创建一个结构数组,这样我就可以在一个数组的元素中保存一个char和一个整数。
我想在数组的每个元素中存储'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.
你能帮我理解如何在初始化时初始化一组结构吗?
答案 0 :(得分:3)
您在构造函数中分配局部变量而不是实例属性。
尝试写作:
function struct($user, $turnCount) {
this.user = $user;
this.turnCount = $turnCount;
}
答案 1 :(得分:1)
var user
和
var turnCount
是结构范围的私有变量
尝试使用
this.user = $user;
this.turnCount = $turncount;