2015-09-27 75 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提出的想法可以。