Можно ли сделать что-то подобное: принудительно ли использовать стандартный объект javascript наследуемый от пользовательского объекта? (нет практического использования, просто риторический вопрос).Как заставить массив Javascript наследовать от моего пользовательского объекта?
var MyObject=function(){
this.name="name from MyObject";
}
Array.prototype=new MyObject();
var array = new Array();
console.log(array.name); //undefined
Вы не можете. Почему бы просто не добавить свойства в 'Array.prototype'? Это имело бы в основном тот же эффект. – 2014-09-26 19:45:01
@squint: Обычно считается плохой идеей расширения встроенных объектов в JavaScript, не так ли? Конечно, эта идея хуже на порядки. –
Вы можете просто взглянуть на [spec] (http://es5.github.io/#x15.4.3.1), чтобы узнать, что 'Array.prototype' не доступен для записи. Итак, теоретически это возможно, но сначала вы должны проверить конфигурацию свойства. –