类方法,静态方法,实例化方法的区别

学习javascript的同学尤其是一些初级学员很难弄清什么,类方法、静态方法、动态方法、实例化方法。虽然有些都一样,但是叫法不同。本着互联网分享精神,今天我就将我自己的见解分享给大家,希望能有所帮助。

开始

  创建一个类

function User(name, age) {
    this.name = name;
    this.age = age;
}

  创建一个类的静态方法(也叫类方法)

User.getClassName = function () {
    return ‘User‘;
};

  调用静态方法

  静态方法是在构造函数本身上定义的方法,只能通过构造函数本身调用,new出来的对象不能够调用。因为这个方法的执行者是这个类,不是这个类的实例。

console.log(User.getClassName(), ‘静态方法调用‘);

  创建动态方法(也叫做实例化方法)

  动态方法,也叫做实例方法,它是通过prototype原型对象添加的,所有的实例对象都能够继承调用

User.prototype.changeName = function (name) {
    this.name = name;
};
User.prototype.changeAge = function (age) {
    this.age = age;
};
Object.defineProperty(User.prototype, ‘info‘, {
    get(){
        return ‘name:‘ + this.name + ‘|age:‘ + this.age;
    }
});

  实例化这个类

var user = new User(‘leo‘, 22);//调用实例化方法(也叫动态方法)
console.log(user.info);
时间: 2024-11-07 01:20:04

类方法,静态方法,实例化方法的区别的相关文章

Delphi 类方法和普通方法的区别 .

//类声明  TMyClass = class  public    class procedure MyProc;  //类方式    constructor Create;      //Create 也是类方法  end; var  Form1: TForm1; implementation {$R *.dfm} { TMyClass } constructor TMyClass.Create;begin  inherited;  MyProc;  //内部调用类方法end; class

深入理解静态方法和实例化方法的区别

这是一个经常被时时提出来的问题,很多时候我们以为理解了.懂了,但深究一下,我们却发现并不懂. 方法是我们每天都在写得,很多程序员大多都使用实例化方法,而很少使用静态方法,问原因也说不出来所以然,或者简单的回答两者定义的区别,静态方法不需要new就可以使用实例化方法需要new了以后才可以使用....我们真的理解了吗? 从实际项目开发说起,这里有开发项目的三种方式: 开发项目中把BLL和DAL分开,在BLL调用DAL的代码. 一.在DAL中使用静态方法,不创建实例直接调用(大概有很多人都使用这种方式

PHP中静态方法和实例化方法的区别

在PHP中类为什么要使用静态方法,有什么好处 不需要实例化?? 可以提高运行效率?? 这是一个经常被时时提出来的问题,很多时候我们以为理解了.懂了,但深究一下,我们却发现并不懂. 方法是我们每天都在写得,很多程序员大多都使用实例化方法,而很少使用静态方法,问原因也说不出来所以然,或者简单的回答两者定义的区别,静态方法不需要new就可以使用 实例化方法需要new了以后才可以使用....我们真的理解了吗? 我特意以"你怎么理解并使用静态方法和实例化方法的?"这样的问题询问了多位程序员,他们

Java系列之:看似简单的问题 静态方法和实例化方法的区别

(2011-12-06 15:28:26) 转载▼ 标签: 杂谈 分类: study 今天看书时一直没真正弄明白静态方法和实例方法的区别,就在网上搜索,找到一篇很好的文章,和大家分享一下: 这是一个经常被时时提出来的问题,很多时候我们以为理解了.懂了,但深究一下,我们却发现并不懂. 方法是我们每天都在写得,很多程序员大多都使用实例化方法,而很少使用静态方法,问原因也说不出来所以然,或者简单的回答两者定义的区别,静态方法不需要new就可以使用 实例化方法需要new了以后才可以使用....我们真的理

静态方法和实例化方法的区别

出处不明.(google了大半天,这篇文章的转载倒是挺多的,不过出处一直没找到,还有些没有标明转载,但发布日期比转载的还晚的忽略不计 = =#) 文章中,提到了不少我们容易混淆的问题,特别是装载.内存方面. 借此机会,再次向大家推荐<程序员的自我修养--链接.装载与库>一书!许多东西是看了那本书才知道的,有助于对静态方法和实例化方法的理解. ---------------------------------------------下面是转载的正文------------------------

静态方法和实例化方法的区别 -转载

这是一个经常被时时提出来的问题,很多时候我们以为理解了.懂了,但深究一下,我们却发现并不懂. 方法是我们每天都在写得,很多程序员大多都使用实例化方法,而很少使用静态方法,问原因也说不出来所以然,或者简单的回答两者定义的区别,静态方法不需要new就可以使用 实例化方法需要new了以后才可以使用....我们真的理解了吗? 从实际项目开发说起,这里有开发项目的三种方式: 开发项目中把BLL和DAL分开,在BLL调用DAL的代码. 一.在DAL中使用静态方法,不创建实例直接调用(大概有很多人都使用这种方

java静态方法和实例化方法的区别(copy)

[资料来源] http://blog.csdn.net/biaobiaoqi/article/details/6732117 方法是我们每天都在写得,很多程序员大多都使用实例化方法,而很少使用静态方法,问原因也说不出来所以然,或者简单的回答两者定义的区别,静态方法不需要new就可以使用 实例化方法需要new了以后才可以使用....我们真的理解了吗? 从实际项目开发说起,这里有开发项目的三种方式: 开发项目中把BLL和DAL分开,在BLL调用DAL的代码. 一.在DAL中使用静态方法,不创建实例直

静态方法的使用2——与实例化方法的区别

1.写法不同 静态方法写法为      public static void add() 实例化方法写法为   public void add2() 2.调用方法不同 静态方法只能直接调用静态的方法和属性 写法为:Lianxi.add()//类名.变量 实例化方法可以调用实例化的方法和属,也可以调用静态的方法和属性(首先要实例化New ) package com.hanqi; public class Lianxi { public static void add() { System.out.

黑马程序员--Objective-C类方法与对象方法、区别、与调用-我之见解

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 类方法. 1. 特点: 以加号( + )开头, 调用格式:  [类名  方法名] 类方法的好处:不需要创建实例对象,直 接通过类名访问,节省空间 ,提高了效率 2.注意事项: 类方法可以和实例方法同名, 相互之间互不影响 类方法可以从父类