码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-05-21 16:31:38      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:evel   console   develop   name   get   OLE   mozilla   com   rip   

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里的静态方法和实例方法

标签:evel   console   develop   name   get   OLE   mozilla   com   rip   

原文地址:https://www.cnblogs.com/lichtung/p/12931093.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!