JavaScript里的静态方法和实例方法


var Person=function(){};

定义一个function实际上是定义了一个类(class)。

 

静态方法

Person.say=function(){
    console.log('I am a Person,I can say.')
};

Person.say(); //正常运行

var carl=new Person;
carl.say(); //报错

我们给Person这个类添加了一个say方法,它在类上面的,所以,它实际上是一个静态方法.

静态方法:不能在类的实例上调用静态方法,而应该通过类本身调用。

 

类(class)通过 static 关键字定义静态方法。以上对Person.say方法的定义等同于:

class Person {
  static say() {
    return console.log('I am a Person, I can say.');
  }
}

 

实例方法

Person.prototype.getName=function(name){
    console.log('My name is '+name);
}

Person.getName('Carl'); //报错

var carl=new Person;
carl.getName('Carl'); //正常运行
getName这个方法实际上是在prototype上面的,只有创建一个实例的情况下,才可以通过实例进行访问。 

Reference:

1.作者:开车去环游世界
链接:https://www.jianshu.com/p/bedefecffa22
来源:简书

2.https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Classes/static


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM