Java Script перебор свойств обьекта

var doc = new Object();
doc.header = 'I`m header';
doc.body = 'I`m body';
doc.footer = 'I`m footer';
doc.inherited = new Object();
doc.inherited.Name = 'My name is Inherited object';
doc.inherited.floor = 'I am floor';
doc.inherited.toString = function() {
  for (c in this) {
    document.write(this[c]);
  }
}

doc.toSring = function() {
  for (i in this) {
    document.write(this[i]);
    if ('toString' in i) { //ошибка!!!Cannot use 'in' operator to search for 'toString' in header
      this[i].toSring();
    }
  }
}

doc.toSring();


Ответы (1 шт):

Автор решения: Grundy

Оператор in должен применяться только к объектам.

В данном случае 'header' - это строка, поэтому и показывается указанная ошибка

→ Ссылка