2012-07-25 3 views
-1

인스턴스화 된 객체의 속성을 JavaScript 함수에서 매개 변수로 전달하는 방법 개체의 동일한 속성을 항상 사용하도록이 작업을 수행하려고합니다.함수 매개 변수에서 객체 인스턴스화

어떻게하면됩니까?

//object 
var house = { 
    bed:"", 
    chair:"", 
    tv,"" 

}; 

//function 
var doThis = function(OBJ){ 

    //pass this OBJ to something 
    alert(OBJ.bed); 
    alert(OBJ.chair); 
    alert(OBJ.tv); 


}; 


//call function 
doThis({new house.bed = "a", new house.chair="c", new house.tv = "f"}); 

doThis({new house.bed = "dd", new house.chair="gg", new house.tv = "jjjh"}); 

doThis({new house.bed = "ff", new house.chair="hh", new house.tv = "hhh"}); 

doThis({new house.bed = "gg", new house.chair="jjj", new house.tv = "hh"}); 
+0

나는 당신이 원하는 것을 얻지 못합니다. 정교하게 제발 주시겠습니까? – PeeHaa

+0

이 작성하기가 어렵습니다 .. 음, 새로운 객체를 인스턴스화하고 함수 매개 변수에 속성을 설정하려고합니다. doThis ({new house = {bed : "a", chair : "c", tv : "f"}); –

답변

2

귀하의 코드가 꽤 멀리 자바 스크립트에서,하지만 당신은 할 수 Esailija처럼

function House(bed, chair, tv) { 
    this.bed = bed; 
    this.chair = chair; 
    this.tv = tv; 
} 
doThis(new House("a", "c", "f")); 
doThis(new House("dd", "gg", "asd")); 
+0

이것이 정확히 내가 원하는 것입니다. –

2

꽤 문제를 이해하지 않지만, 코드는 함수의 호출은 다음과 같이해야한다, 구문 오류가 포함되어

doThis({bed: "a", chair: "c", house: "f"}); 
1

가하는 DoThis가 정의되어 있지 않은 점을 제외했다, 그래서 같은 것을 사용 :이 작업을 수행

function House(bed,chair,tv){ 
    var obj = {}; 
    obj.bed = (bed) ? bed : ""; 
    obj.chair = (chair) ? chair : ""; 
    obj.tv = (tv) ? tv : ""; 
    return obj; 
    } 

    var myHouse = new House('water bed'); 
+0

고맙습니다. 새 집 개체에 0 ~ 3 개의 매개 변수를 넣을 수 있습니다. 매개 변수가없는 경우 해당 속성을 빈 문자열 – dano

+0

에 할당하고 프로토 타입을 지정할 수도 있습니다 집 객체는 실제 객체 지향 언어처럼 작동하도록 도와 줄 수 있습니다. – dano

관련 문제