在javascript

时间:2017-02-15 16:25:38

标签: javascript

我在javascript上创建了一个Vector3函数

    function Vector(basex,basey,basez) {
    if(!(this instanceof Vector))
        return new Vector (x,y,z);
    this.x=basex;
    this.y=basey;
    this.z=basez;
}

Vector.prototype.toString=function(){
    return '(' + this.x + ', '+  this.y + ', ' + this.z +   ')';
}


s= new Vector(1,2,3); //(1,2,3)

然而,当我尝试用

重新分配s时
s=Vector(3,4,5)

我明白了 第NaN行的ReferenceError:x未定义

如果我使用

 s=new Vector(3,4,5)

它有效,但这是重新分配我的变量的正确方法吗? 我试图在网上查找一些“重新分配我的变量”,但只是喜欢可以重新分配原始变量

var n=3;
n=5;

但没有关于功能。 任何一个阵容?

1 个答案:

答案 0 :(得分:3)

在此代码中:

if(!(this instanceof Vector))
    return new Vector (x,y,z);

未定义变量xyz。您可能想要使用传递给函数的值:

if(!(this instanceof Vector))
    return new Vector (basex,basey,basez);