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

Posted 林中空地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于JavaScript里的静态方法和实例方法的主要内容,如果未能解决你的问题,请参考以下文章

Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示(代码片段

javascript中实例方法与类方法的区别

Python中静态方法和类方法的区别

web前端开发JQuery常用实例代码片段(50个)

(10)静态方法静态字段静态类匿名类

你真的会用ABAP, Java和JavaScript里的constructor么?