2016-06-28 5 views
0

이것은 출처 인 Codecademy에서 잘 작동하는 코드입니다. 그러나 브라우저에서 동일한 코드를 사용하면 정의되지 않은 값이 반환됩니다.JavaScript 프로토 타입 브라우저 출력

<script> 
    function Cat(name, breed) { 
     this.name = name; 
     this.breed = breed; 
    } 

    Cat.prototype.meow = function() { 
     console.log('Meow!'); 
    }; 

    var cheshire = new Cat("Cheshire Cat", "British Shorthair"); 
    var gary = new Cat("Gary", "Domestic Shorthair"); 

    alert(console.log(cheshire.meow)); 
    alert(console.log(gary.meow)); 
</script> 
+0

console.log는 undefined를 반환합니다. – maioman

답변

1

당신은 console.log()alert의 결과를 전달하는 그러나 당신이 alertundefined을 전달하는 그래서 아무것도 반환하지 않습니다.

alert 또는 console 로그 만 사용하고 다른 하나는 전달하지 마십시오.

귀하의 meow 기능은 이미 콘솔에 기록되어 있으므로 다시 사용하는 것은 의미가 없습니다. meow 함수이기 때문에, 당신은 아마 실제로 그것을 호출 할 그냥 함수 자체를 인쇄하지 않는 것이

cheshire.meow(); 
gary.meow(); 

참고 : 대부분의 경우 당신이 원하는이있다.

+0

그래서'alert (gary.meow);를 사용하십시오. 맞습니까? 이미 시도했지만 실제 함수를 반환합니다. – James

+0

또는'console.log()'중에서 원하는 것을 선택하십시오. 창을 닫을 때 짜증나기 때문에 아마 경고를 사용하지 않을 것입니다. –

+0

음, console.log (gary.meow());와 alert (gary.meow());는 모두 정의되지 않은 값을 반환합니다. 확실하게, 메인 코드에는 아무런 문제가 없습니까? – James