JavaScript 定义类时如何将方法提取出来

Posted CSU迦叶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 定义类时如何将方法提取出来相关的知识,希望对你有一定的参考价值。

现在我们有一个海洋生物类

function marineLife(name,job,friend)
    this.name = name;
    this.job = job;
    this.friend = friend;
    this.introduceMyself = function()
        console.log('大家好!我叫'+this.name+',我是一名'+this.job+',我最好的朋友是'+this.friend);
    

让我们用这个类新建一个对象-海绵宝宝

let SpongeBob = new marineLife('SpongeBob','cooker','Patrick Star');
SpongeBob.introduceMyself();

他还介绍了自己

但是这样定义类的坏处是,每一次新建一个对象,都会有一个全新的函数 introduceMysel() 在里面。我们可以改成

function marineLife(name,job,friend)
    this.name = name;
    this.job = job;
    this.friend = friend;

marineLife.prototype.introduceMyself = function()
    console.log('大家好!我叫'+this.name+',我是一名'+this.job+',我最好的朋友是'+this.friend);

之所以能够这么做是因为marineLife.prototype被所有的marineLife的实例共享,在任何时候访问marineLife的一个属性或者调用marineLife的某个方法,如果系统在marineLife的定义中没找到就会去marineLife.prototype中找。

这个性质使得我们能给对象添加定义之外的属性和方法。

以上是关于JavaScript 定义类时如何将方法提取出来的主要内容,如果未能解决你的问题,请参考以下文章