2014-06-17 3 views
2

I가 다음 JS 개체 :루프 JS 통해 객체

function AdvancedFilters() { 
    var self = this; 
    self.AdvancedColId = ko.observable(); 
    self.AdvancedComapanyName = ko.observable(); 
    self.AdvancedClientCountry = ko.observable(); 
    self.AdvancedClientCity = ko.observable(); 
    self.AdvancedDatabaseLocation = ko.observable(); 
    self.AdvancedUserName = ko.observable(); 
    self.AdvancedEmail = ko.observable(); 
    self.AdvancedPhoneNo = ko.observable(); 
    self.AdvancedAccessFrom = ko.observable(); 
    self.AdvancedAccessTo = ko.observable(); 
    self.AdvancedCreatedOn = ko.observable(); 
    self.AdvancedCandidates = ko.observable(); 
    self.AdvancedErrorsReported = ko.observable(); 
    self.AdvancedActive = ko.observable(); 
    self.AdvancedRequestes = ko.observable(); 
} 

내가 AdvancedFilters Object에 모든 속성을 반복해야하고 대신 모든 속성에 적용 뭔가 별도로 각 속성에 액세스합니다. 나는 이런 식으로해야합니다 :

for (var property in AdvancedFilters) {   
     // do something with property  
} 

위의 구문을 시도했지만 작동하지 않습니다.

+0

가능한 중복 시도 [자바 스크립트 객체의 모든 메소드를 표시하는 방법?] (http://stackoverflow.com/questions/2257993/how-to-display-all-methods- in-a-javascript-object) – Paddy

+0

인스턴스에 대해 작업해야합니다 :'var obj = new AdvancedFilters(); for (var prop in obj) {}' –

+0

은 함수 작업을위한 루프입니까? 이걸 진짜로 시험해 보셨나요? – Akhlesh

답변

6

function AdvancedFilters() { 
    var self = this; 
    self.AdvancedColId = ko.observable(); 
    //... 
} 

var obj = new AdvancedFilters(); 
for (var property in obj) {   
    alert(ko.isObservable(obj[property]) ? obj[property]() : property); 
} 
+0

분명히 그가 의미하는 바가있다. 그는 분명히 함수의 속성을 반복하고 싶지 않습니다 (기술적으로 가능하지만 함수에도 속성이있을 수 있습니다). – rplantiko