JavaScript, как получить все свойства литерального объекта в IE - PullRequest
0 голосов
/ 10 сентября 2009

у меня есть такой буквальный объект

var O={

 toString:function(){
  // some code here
 },
 anotherMethod:function(){
  // some code here
 }

}

Я прохожу через объект с петлей for-in

for(var p in O){
 // some stuff with p and O[p]
}

Проблема в том, что свойство toString не будет зациклено в браузере IE!

1 Ответ

2 голосов
/ 10 сентября 2009

Прочитайте эту страницу: Атрибут ECMAScript DontEnum в Центре разработчиков Mozilla. По сути, это ошибка JScript.

JScript пропустит любое свойство в любой объект, где есть одноименный свойство в прототипе объекта цепочка с атрибутом DontEnum. Если свойство с DontEnum атрибут существует в прототипе цепочка, или если свойство экземпляра помеченный DontEnum, он не перечисляется, независимо от программиста значения для этого свойства. JScript делает не правильно проверить DontEnum атрибут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...