Мне было интересно о прототипном характере JavaScript и о его преимуществах, и пришли к следующему списку:
1) Наследование
cat.prototype = animal
2) Эффективность памяти
a.prototype.b = function() {}
var a1 = new a();
var a2 = new a();
Тогда a1.b и a2.b по существу являются одним и тем же объектом, где as:
var a = function() {
this.b = function() {};
}
var a1 = new a();
var a2 = new a();
a1.b и a2.b будут разными объектами функции и занимают больше памяти.
3) Добавление методов/полей к нескольким уже созданным объектам "out in the wild".
var a = function() {}
var a1 = new a();
var a2 = new a();
a.prototype.b = function() {}
a1.b();
a2.b();
Итак, вопрос в том, правильны ли они?
... и есть ли другие преимущества, которые я пропустил?
Ура!