2015-01-09 3 views
0

에서 올 때 정의되지 나는이에 붙어 : 개체 속성은 메서드 매개 변수

var Names = function (name,integer) { 
    this.name = name; 
    this.integer = integer; 
}; 

var Discount = { 
    applyDiscount: function(person) { 
     console.log("person name is: " + person);   //Eve 
     console.log("person integer is: " + person["integer"]); //undefined 
     console.log("person integer is: " + Eve["integer"]); // 23 
    } 
}; 

var Eve = new Names("Eve Something", 23); 

Discount.applyDiscount("Eve"); 

내가 Eve.integer 값을 얻으려고

은 ( person 매개 변수를 사용하여) - 나는했습니다 undefined를 얻을.

person["integer"]이이 경우 작동하지 않습니까?

+0

일반적인 자바 스크립트 코딩 스타일은 생성자 함수에 대한 대문자로 시작하는 식별자를 예약하는 것입니다. 'Eve'는'eve'이어야합니다. – Quentin

+0

알았습니다. 감사. – user4217275

답변

3

당신은 그 변수 Eve 포인트 기능과하지에 문자열을 객체를"Eve"을 전달하고 있습니다. 따옴표를 제거하십시오.

+0

오, 고마워. 내 실수. 휴식이 필요합니다. – user4217275

+0

@ user4217275이 답변이나 어떤 대답으로도 문제가 해결되면 [확인] (http://meta.stackexchange.com/q/5234/179419)을 클릭하여 확인하십시오. 이는 해결책을 찾았으며 응답자와 자신에게 어느 정도의 평판을 제공한다는 것을 더 넓은 커뮤니티에 나타냅니다. 이를 수행 할 의무는 없습니다. – idmean

0

필요한 사용 개체가 아닌 문자열 :

Discount.applyDiscount(Eve);