Я пытаюсь обойти это черное искусство под названием JavaScript - и, надо признать, очень взволнован. Я рассматривал примеры кода, в основном из easeljs, так как именно это я буду использовать в основном. И я немного смущен.
Я (думаю, я) понимаю разницу между использованием прототипа для функций или свойств, которые являются переменными класса и использованием this.someProp для переменных "instance" (да, я понимаю, что в JavaScript нет классов).
Код, на который я смотрел, и использую в качестве шаблонов для своего собственного кода, объявляю переменные прототипа и затем ссылаюсь на них с помощью этого i.e.
В конструкторе: this.name = name;
Затем объявление: Object.prototype.name;
И позже, this.name = "Freddy";
Это внутри функций, называемых "new", поэтому в этом случае, как я понимаю, 'this' относится к текущему объекту. Что меня озадачивает, что делает объявление прототипа, и почему мы используем его, например, переменные?
Спасибо, Дэйв
ОК, немного разъяснений. В следующем коде я не вижу того, чего добивается объявление радиуса прототипа:
(function(){
// constructor
function MyCircle(radius){
this.radius = radius;
}
MyCircle.prototype.radius;
this.area = function(){
return 3.14*this.radius*this.radius;
};
window.MyCircle = MyCircle;
}());