在javascript构造函数中初始化数组

时间:2014-08-11 11:38:16

标签: javascript arrays oop constructor three.js

我有一个构造函数,我想在要创建的对象内初始化一个数组。这个数组应该包含几个对象。

        function Cluster3DObject(name){
            this.name = name;
            this.array = [];
        }

        Cluster3DObject.prototype.add = function(obj) {
            this.array.push(this.obj);

        };

在这里我定义了"类"我添加了一种方法"添加"它应该将一个物体推入这个。阵列..

            var cluster = new Cluster3DObject("clster");

            var testObj = new THREE.CSS3DObject(testDiv);

            var testVector = new THREE.Vector3();

            cluster.add(testObj);

当我调用cluster.add方法时,我得到" undefined不是函数错误"但我似乎无法找出我做错了什么? 我是使用构造函数的新手..

1 个答案:

答案 0 :(得分:4)

不是this.obj,只是obj

Cluster3DObject.prototype.add = function(obj) {
     this.array.push(obj);
};

否则看起来很好,但是这不会产生"undefined is not a function error",只会推undefined,所以错误可能来自于尝试使用填充了undefined的数组价值观?

FIDDLE

相关问题