Wilat
Ученик
(207)
7 лет назад
Если честно, я с прототипами особо не разбираюсь. Но для меня непонятна сама логика. Вы присваиваете прототипу функцию, внутри которой создаёте функции. То есть, у вас prototype - функция, которая объявляет другие функции... И всё. Это по логике так получается.
Почему бы вам не попробовать сделать так:
Rect.prototype = {
draw: function() {
fillRect(this.x,this.y,this.w,this.h);
},
stroke: function() {
strokeRect(this.x,this.y,this.w,this.h);
}
}
Или так:
Rect.prototype.stroke = function() {
strokeRect(this.x,this.y,this.w,this.h);
}
Rect.prototype.draw = function () {
fillRect(this.x,this.y,this.w,this.h);
}
Оба варианта рабочие.
https://jsfiddle.net/xqaw8kgp/