Мне нужно запустить метод, принадлежащий ко всем экземплярам объекта. Например, если бы я имел метод FULLNAME(), который сцепляет .firstName и .secondName, я хотел бы сделать это для обоих экземпляров объекта в коде:Как вызвать метод для всех экземпляров объекта
<script>
function x(firstName, secondName) {
this.firstName = firstName;
this.secondName = secondName;
this.fullName = function() {
console.log(this.firstName + this.secondName); //this should output result of both john.fullName() and will.fullName()
}
}
var john = new x("John ", "Smith");
var will = new x("Will ", "Adams");
</script>
Как это достигается в JavaScript? Предпочтительно, это было бы без указания количества экземпляров, и вместо этого просто запустить метод для всех созданных экземпляров. Заранее спасибо.
Возможный дубликат [Итерация над объектными значениями объекта] (http://stackoverflow.com/questions/9354834/iterate-over-object-literal-values) – Hodrobond
определите 'this.fullName =' as 'x.prototype.fullName =', и он мгновенно будет работать повсюду. вывести его из конструктора тоже ... – dandavis
есть оператор [instanceof] (https://developer.mozilla.org/it/docs/Web/JavaScript/Reference/Operators/instanceof), который вы можете использовать – maioman