关于 函数对象 方法的问题?

  function Animal(){

        this.say = function(){

            console.log("Hello");

        };

    }

    

Animal.say();//Animal.say is not a function

为什么这样无法访问 say 方法?


var a = new Animal();

a.say();//Hello

而这样实例出来的却可以访问。


如果要访问Animal.say却需要在函数外部写下面这个才能访问。


Animal.say = function(){

    console.log("Hello");

};

但是这样又会变成实例出来的不能访问了。


需要变成:


Animal.prototype.say = function(){

        console.log("Hello");

    };

这样才能访问,但是这样Animal.say又不能访问。

搞不清楚,头大,求解释。


哆啦的时光机
浏览 377回答 1
1回答

繁星coding

关键字this的指向可简单理解为构造函数内的this在实例化时(new时)指向新创建的对象,构造函数本身是跟其内部的this没关联的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript