У меня есть несколько пользовательских определений объектов, как:Копирование свойств объекта в JavaScript
var Class1 = function() { this.value = ''; };
var Class2 = function() { this.data = ''; };
Class1.prototype = {
setObject: function() {
for (var prop in this){
if (typeof obj[prop] != 'undefined')
this[prop] = obj[prop];
}
}
}
Class2.prototype = {
setObject: function() {
for (var prop in this){
if (typeof obj[prop] != 'undefined')
this[prop] = obj[prop];
}
}
}
Есть ли способ, чтобы этот метод setObject
по умолчанию для всех clases?
Лучше ли (имитировать) наследовать эту функцию от типа Object
в JavaScript или лучше использовать глобальную функцию или определить ее по отдельности?
насчет Class2.prototype = Class1.prototype; ? –
В вашем коде, что такое 'obj'? Похоже, вы пытаетесь определить свойства по умолчанию для своих объектов? –
Что вы на самом деле пытаетесь сделать? Вы хотите сделать «клонирование объектов»? Свойства объектов могут быть структурированными объектами, поэтому вы будете работать с «ссылками». Вы должны создать специальный метод клонирования для каждого класса. –