Javascript 一个类调用另一个类的一个属性';原型法
直接来看代码,这里是Javascript 一个类调用另一个类的一个属性';原型法,javascript,class,oop,object,prototype,Javascript,Class,Oop,Object,Prototype,直接来看代码,这里是Player课程 职业玩家{ 建造师(位置、速度){ this.pos=pos; 速度=速度; } get type(){return“player”;} 静态创建(pos){ 返回新玩家(位置plus(新Vec(0,-0.5)), 新的Vec(0,0)); } } Player.prototype.size=新的Vec(0.8,1.5); 和Vec类: class-Vec{ 构造函数(x,y){ 这个.x=x;这个.y=y; } 加(其他){ 返回新的Vec(this.x
Player
课程
职业玩家{
建造师(位置、速度){
this.pos=pos;
速度=速度;
}
get type(){return“player”;}
静态创建(pos){
返回新玩家(位置plus(新Vec(0,-0.5)),
新的Vec(0,0));
}
}
Player.prototype.size=新的Vec(0.8,1.5);
和Vec
类:
class-Vec{
构造函数(x,y){
这个.x=x;这个.y=y;
}
加(其他){
返回新的Vec(this.x+other.x,this.y+other.y);
}
次数(因子){
返回新的向量(此.x*因子,此.y*因子);
}
}
我似乎无法理解这一点:
返回新玩家(pos.plus(新Vec(0,-0.5)),
新的Vec(0,0));
pos.plus()
来自哪里
plus()
方法在Vec
的原型中,对吗?pos
如何访问plus()
?它是Player
class的属性,但调用Vec
class的方法。我很困惑。需要一些澄清。您似乎被变量范围弄糊涂了。传递给Player
的构造函数的pos
参数仅在构造函数本身中可见,尽管它也可以在实例上访问,因为构造函数设置了this.pos
。但是,在create
方法中,pos
是一个完全不同的方法参数,它与构造函数中的pos
无关。您似乎被变量范围弄糊涂了。传递给Player
的构造函数的pos
参数仅在构造函数本身中可见,尽管它也可以在实例上访问,因为构造函数设置了this.pos
。但是,在create
方法中,pos
是一个完全不同的方法参数,它与构造函数中的pos
无关。我从没注意到那部分。我的错,我明白了。我从没注意到那部分。我的错。