Метод конструктора очень полезен, но есть пустая трата памяти
Функции, назначенные прототипом, делятся всеми объектами.
Атрибуты, назначенные прототипом, являются независимыми .---- Если вы не изменяете атрибуты, они обмениваются
Если мы хотим, чтобы все объекты использовали одну и ту же функцию, лучше всего добавить функции, используя метод прототипа, который сохраняет память.
пример:
// ---- Режим конструктора
Добавьте не измененный атрибут «тип» в объект CAT, а затем добавьте метод eath (Eating Rat). Затем кошка объекта прототипа становится следующим:
<script> function cat (name, color) {this.name = name; this.color = color; this.type = "feat"; this.eat = function () {alert ("Eat Mouse"); }; } // Сгенерировать пример: var cat1 = new Cat ("Большие волосы", "желтый"); var cat2 = new Cat ("et er hair", "black"); alert (cat1.type); // feat cat1.eat (); // есть предупреждение мыши (cat1.eat == cat2.eat); // false </script>То есть для каждого объекта экземпляра тип атрибута и метода eat () точно одинаковые. Каждый раз, когда генерируется экземпляр, он должен быть повторяющимся содержанием и занимать больше памяти. Это ни экологически, ни эффективно.
// ---- Прототип режим
JavaScript предусматривает, что каждый конструктор имеет атрибут прототипа, указывающий на другой объект. Все свойства и методы этого объекта будут унаследованы случаями конструктора.
Это означает, что мы можем напрямую определить эти неизменные свойства и методы на объекте прототипа.
<script> function cat (name, color) {this.name = name; this.color = color; } Cat.prototype.type = "kene"; cat.prototype.eat = function () {alert ("eat mouse")}; // генерировать экземпляр. var cat1 = new Cat («большие волосы», «желтый»); var cat2 = new Cat («2 волосы», «черный»); alert (cat1.type); // Cat Cat1.eat (); // употребление мыши (cat1.eat == cat2.eat); // truef </script>В настоящее время типовые атрибуты и методы eat () всех экземпляров на самом деле являются адресом памяти, указывая на объект прототипа, тем самым повышая эффективность работы.
Вышеуказанное введение в разницу между конструктором JS и прототипом прототипа - это все контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.