2015-09-27 73 views
2

假如我知道一個對象和屬性(如數學和隨機)對象,我可以用查找其財產屬於

Math.hasOwnProperty('random'); 

我的問題很容易找到如果隨機屬於數學我可以做什麼,以防我知道一個物業,我想找到它屬於哪個物品。我已經在stackoverflow中進行了搜索,並且發現了一些類似的問題;但是我沒有絕對的把握這個不能以某種方式來完成,這就是爲什麼我決定再次提出這個問題...

謝謝

+2

迭代'[布爾,數字,對象,函數,RegExp,字符串,數組,日期,錯誤,數學,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提出的想法可以。