在javascript中创建对象

时间:2014-07-28 04:38:08

标签: javascript

我已声明对象'渲染'并添加了2个对象'vector3D'&通过原型“矩阵”。对于vector3D对象,我通过其原型包含了3个属性。

Render = function () {    

};


  Render.prototype = {
        vector3D: function () {

        },     
         matrix: function () {

        },   
   }

   var Render = new Render();
   Render.vector3D.prototype = {
        //Members
        x: "",
        y: "",
        z: "",


        isValid: !isNaN(this.x) && !isNaN(this.y) && !isNaN(this.z),
  }

如果我想访问矢量属性,我必须每次都按照以下步骤

var Rendered = new Render();
var vector=new Rendered.vector3D();
vector.x=10;
vector.y=20;

这是正确的还是有其他简单方法可以访问vector对象的属性?

1 个答案:

答案 0 :(得分:0)

为什么不这样做:

Render.prototype = {
        vector3D:  {
                    x: "",
                    y: "",
                    z: "",
        },     
         matrix:  {

        },   
   }

也就是说,只需将vector3D声明为对象而不是函数。

您可以像这样访问它:

var rendered = new Render();
rendered.vector3D.x = 10;

然而,如果您这样做,那么您的所有Render实例将共享相同的矢量坐标值,因为您在原型上设置它们。如果您希望每次需要声明一个“实例”变量时初始化向量的新实例:

Render = function () {
    this.vector3D ={
                    x: "dd",
                    y: "",
                    z: "",
        }
};