2014-01-24 238 views
0

TLDR:如何獲取構造函數/屬性的內容,而無需真正知道它包含的內容?JS - 構造函數參考

考慮以下幾點:

function f(args) { 
     this.defaults { 
      param1 : 100, 
      param2 : 900; 
     }; 
     this.ranges { 
      param1 : { min : 0, max : 500 }, 
      param2 : { min : 0, max : 1000 }; 
     }; 
    } 
    var myF = new f(); 

defaultsranges可以通過myF.defaults.param1myF.ranges.param1.min調用訪問。如果您不知道defaultsranges的名稱,該怎麼辦?如何在不知道他們的情況下獲得defaults財產中的名稱和價值?

示例:上述三個函數;一個如圖所示,F#2帶有param37/param42和F#3帶有param68/param94。你怎麼能叫F#2並返回或找出它包含param37/param42及其值?

注:顯然定義ranges沒有定義defaults將毫無意義和壞的編碼,這就是爲什麼我的角度對問題得到defaults,而不是兩個。

+0

[訪問/進程(嵌套)對象,數組或JSON]可能的重複(http://stackoverflow.com/questions/11922383/access-process-nested-objects-arys-or-json) –

+2

和[How枚舉javascript對象的屬性?](http://stackoverflow.com/q/85992/218196) –

+0

第二個回答了它。我已經看着這個,並以某種方式完全忽略了propertyName的答案。謝謝。 – user3223880

回答