2015-09-27 4 views
2

Предположив Я знаю, объект и свойство (например, по математике и случайная), я могу легко найти если случайным принадлежит к математике с помощьюНайти объект, который свойство принадлежит

Math.hasOwnProperty('random'); 

Моей проблемы что я могу сделать, если я знаю свойство, и я хочу найти, в каком объекте он принадлежит. Я выполнил поиск в stackoverflow, и я нашел несколько похожих вопросов; Но я не совсем уверен, что это не может быть сделано в некотором роде, поэтому я решил еще раз представить эту тему ...

Спасибо

+2

Итерации '[Булево, число, объект, функция, RegExp, String, Array, Date, Error, Math, JSON]' и проверить, существует ли ваша собственность в любом из них и вернуть первое совпадение. – thefourtheye

+0

Хорошо, но как проходить через эти встроенные объекты, поскольку все их свойства не перечислены? Если, например, я хочу найти, где принадлежит getDay; как я могу это реализовать? –

ответ

5

Как правило, вы не можете сделать это. Потому что вы не можете получить доступ ко всем объектам, определенным в кодах JavaScript. Если вы хотите, чтобы оценить свойства, присоединенные к глобальному объекту window, то вы можете сделать это

for(var child in window){ 
    if(window[child].hasOwnProperty(foo)){ 
     console.log('Object ' + window[child] + ' has property foo'); 
    } 
} 

Примечания: Если вы хотите, чтобы проверить прототип конструктора функции [но не всех функций конструкторы], идея, предложенная @thefourtheye, будет в порядке.

Смежные вопросы