2016-06-28 2 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 но не возвращает ничего так вы передаете undefined к alert.

Либо использовать только alert или только console журнал, не передавайте один в другой.

Функция meow уже работает на консоли, поэтому повторное использование бессмысленно. Скорее всего, что вы хотите это:

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

Обратите внимание, что поскольку meow является функцией, вы, вероятно, хотите, чтобы на самом деле назвать это и не просто напечатать саму функцию.

+0

Так что просто используйте 'alert (gary.meow);' right? Я уже пробовал это, но вместо этого возвращает действительную функцию. – James

+0

Или 'console.log()', какой бы вы ни предпочли. Я бы, вероятно, не использовал предупреждение, потому что это раздражает закрытие окон. –

+0

Mmm, поэтому оба 'console.log (gary.meow());' и 'alert (gary.meow());' return undefined. Чтобы быть уверенным, нет ничего плохого в главном коде? – James

Смежные вопросы