这是一个在Codecademy中可以正常工作的代码。但是,当我在浏览器中尝试相同的代码时,它始终返回未定义的状态。

<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>

最佳答案

您要将console.log()的结果传递给alert,但是它不返回任何内容,因此您要将undefined传递给alert

请仅使用alert日志或仅使用console日志,不要将一个传递给另一个。

您的meow函数已经登录到控制台,因此再次进行是没有意义的。您最想要的是:

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


请注意,由于meow是一个函数,您可能想实际调用它,而不仅仅是打印函数本身。

10-02 12:38