Javascript 其他函数中的函数不可访问

Javascript 其他函数中的函数不可访问,javascript,Javascript,我宣布两项职能: var vec = function(x,y){ this.x = x; this.y = y; }; var ray = function(start,end){ this.origin = start; this.direction = end; }; 在canvas.onmousemove事件中,我想将这些函数用作对象: canvas.onmousemove = function(event){ var ray = new ray(n

我宣布两项职能:

var vec = function(x,y){
    this.x = x;
    this.y = y;
};
var ray = function(start,end){
    this.origin = start;
    this.direction = end;
};
canvas.onmousemove
事件中,我想将这些函数用作对象:

canvas.onmousemove = function(event){
  var ray = new ray(new vec(center_x,center_y), new vec(2,10));
};

但是我的浏览器告诉我函数未定义,这是因为变量名(
ray
)与函数名(
ray
)相同

更改此行的
ray
变量名称

 var ray = new ray(new vec(center_x,center_y), new vec(2,10));
使用不同的名称,如
raydinstance
。一个有意义的名字将对你的未来有所帮助

var rayInstance = new ray(new vec(center_x, center_y), new vec(2, 10));
var-vec=函数(x,y){
这个.x=x;
这个。y=y;
};
var ray=函数(开始、结束){
this.origin=开始;
这个方向=结束;
};
变量中心x=0,中心y=0;
(功能(){
var rayInstance=new ray(new vec(center_x,center_y),new vec(2,10));
警报(rayInstance.direction.x+“”+rayInstance.direction.y);
})();