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

Initialize array in javascript constructor

本文关键字:初始化 数组 构造函数 javascript      更新时间:2023-09-26

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

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

这里我定义了"类",并添加了一个方法"add",它应该将一个对象推入this.array.

            var cluster = new Cluster3DObject("clster");
            var testObj = new THREE.CSS3DObject(testDiv);
            var testVector = new THREE.Vector3();
            cluster.add(testObj);

当我调用集群时。添加方法我得到"未定义的不是一个函数错误",但我似乎无法找出我做错了什么?我刚开始使用构造函数…

不是this.obj,是obj

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

否则看起来很好,但这不会真正产生"undefined is not a function error",它只会推动undefined,所以错误可能来自尝试使用充满undefined值的数组?

小提琴