Глобальные объекты Javascript перестают работать после смены прототипа!

Я не, если я что-то упускаю очевидное, но когда я делаю что-то вроде ниже:-

Object.prototype.inherit = function(fromClass) {
  fromClass.apply(this, Array.prototype.slice.call(arguments, 1));

  for(var key in fromClass.prototype){
    if(typeof fromClass.prototype[key] == 'function')
        this.prototype[key] = fromClass.prototype[key];
  }
};

Тогда я больше не могу работать ни с какими предметами. Я всегда становлюсь неопределенным. Аналогично, когда я пытаюсь "ввести" какой-то метод в Array.prototype тогда массивы перестают работать! Я использую Firefox 4.0.1.

Я что-то пропустил?

1 ответ

Решение

ПОЖАЛУЙСТА, ПОЖАЛУЙСТА, ПОЖАЛУЙСТА, ПОЖАЛУЙСТА, НЕ РАСШИРЯЙТЕ ОБЪЕКТ.ПРОТОТИП.

Спасибо.

Теперь перейдем к вашему вопросу, что вы имеете в виду, что вы больше не можете работать с объектами? Вы собираетесь разорвать петли "in-in", но если не считать этого, все еще должно работать.

Другие вопросы по тегам