function Person(name) {
this.name = name;
}
Person.prototype = {
sayName: function() {
console.log(this.name);
},
toString: function() {
return "[Person " + this.name + "]";
}
};
Когда я передаю объектный литерал в прототипе, он меняет свойство конструктора, так что теперь он указывает на Object
вместо Person
. Почему так ? PLS кто-то объясняет.Передача объекта литерала в конструкторе изменений прототипа?
+1 для вашего анализа - однако было бы лучше включить конструктор, используя Object.defineProperty, чтобы флаг enum мог быть установлен как false, поскольку он по умолчанию. –
Хорошая идея. Обновлено. – Scimonster