我在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;
但没有关于功能。 任何一个阵容?
答案 0 :(得分:3)
在此代码中:
if(!(this instanceof Vector))
return new Vector (x,y,z);
未定义变量x
,y
和z
。您可能想要使用传递给函数的值:
if(!(this instanceof Vector))
return new Vector (basex,basey,basez);