我第一次尝试在 javascript 中实现 OOP,当我尝试将对象数组发送到该函数时,我陷入了递归函数。所以,我有一些属性的“Pitic”类(pitic 意味着罗马尼亚语中的侏儒):
function Pitic(piticID) {
this.id = piticID;
this.inaltime = null;
this.greutate = null;
this.genereazaGreutate();
this.genereazaInaltime();
}
我现在正在生成一些侏儒并将它们存储在公共piticiCollection Array 变量中。"genereazaGreutate" 和 "genereazaInaltime" 是为 inaltime 和 greutate 值生成随机值的函数。
var pitic = new Pitic(idPitic);
piticiCollection.push(pitic);
当我尝试将侏儒数组发送到函数时出现问题,因为我得到的只是数组的第一项。
所以,在我调用函数之前,我有 4 个对象的 piticiCollection 数组: 侏儒是安全的 http://img443.imageshack.us/img443/484/yr4f.png
一旦我以piticiCollection 作为参数调用该函数,我就会失去3 个侏儒!:( 大部分侏儒都走了 http://img201.imageshack.us/img201/5808/7od5.png
ps 请原谅我的英语不好..
[编辑] 这是我完整代码的一个小提琴:http: //jsfiddle.net/WT7Ud/我在第 56 行调用该函数,一旦调试器到达第 60 行,我就会丢失数组项。