Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.08.2010, 11:39
Кандидат Javascript-наук
Отправить личное сообщение для Иваннн Посмотреть профиль Найти все сообщения от Иваннн
 
Регистрация: 31.05.2010
Сообщений: 106

Перебор свойвств и методов объектов
Доброго времени суток. Для перебора (перечисления ) всех свойвств объекта js существует цикл for in, но он не показывает все свойвства, только без флага dontEnum. Как увидеть все свойвста объекта как браузера, самого js и пользовательских? И основной вопрос как перебрать методы объекта так же как циклом for in?
Ответить с цитированием
  #2 (permalink)  
Старый 27.08.2010, 11:55
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Иваннн
Как увидеть все свойвста объекта как браузера, самого js и пользовательских?
Угадать только.

Сообщение от Иваннн
как перебрать методы объекта так же как циклом for in?
Методы -- это те же свойства.
Ответить с цитированием
  #3 (permalink)  
Старый 27.08.2010, 12:13
Кандидат Javascript-наук
Отправить личное сообщение для Иваннн Посмотреть профиль Найти все сообщения от Иваннн
 
Регистрация: 31.05.2010
Сообщений: 106

Сообщение от Kolyaj Посмотреть сообщение


Методы -- это те же свойства.
Да это те же свойства, только их не видно при переборе в цикле for in!
Ответить с цитированием
  #4 (permalink)  
Старый 27.08.2010, 12:23
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Потому что они имеют атрибут DontEnum.
Ответить с цитированием
  #5 (permalink)  
Старый 27.08.2010, 12:26
Кандидат Javascript-наук
Отправить личное сообщение для Иваннн Посмотреть профиль Найти все сообщения от Иваннн
 
Регистрация: 31.05.2010
Сообщений: 106

А смысл??????
Чем руководствовались разработчики esma, когда некоторые свойвства и все методв наделили этим атрибутом, зачем?
Ответить с цитированием
  #6 (permalink)  
Старый 27.08.2010, 13:20
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Не все методы. Если добавите свой, он будет перебираться.
Ответить с цитированием
  #7 (permalink)  
Старый 27.08.2010, 13:27
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Иваннн
зачем?
Ну вот создаёте вы объект
var obj = {
    a: 1,
    b: 'foo',
    c: 'bar'
};
Вы же не хотите, чтобы при переборе свойств этого объекта, помимо a, b и c, вам попадались ещё такие свойства, как hasOwnProperty, toString, valueOf и прочие?
Ответить с цитированием
  #8 (permalink)  
Старый 27.08.2010, 14:56
Кандидат Javascript-наук
Отправить личное сообщение для Иваннн Посмотреть профиль Найти все сообщения от Иваннн
 
Регистрация: 31.05.2010
Сообщений: 106

Тогда где брать информацию о полной номенклатуре свойств объекта- у производителя браузера?
Ответить с цитированием
  #9 (permalink)  
Старый 27.08.2010, 15:11
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Например, там, да.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрый поиск объектов Shasoft Общие вопросы Javascript 7 30.07.2009 05:28