`

js 静态方法与实例方法

 
阅读更多
静态方法是指不需要声明类的实例就可以使用的方法

实例方法是指必须要先使用"new"关键字声明一个类的实例, 然后才可以通过此实例访问的方法
//声明一个类
function staticClass() { };
 //创建一个静态方法
staticClass.staticMethod = function() { alert("static method") };
 //创建一个实例方法
staticClass.prototype.instanceMethod = function() { "instance method" };


上面首先声明了一个类staticClass, 接着为其添加了一个静态方法staticMethod 和一个动态方法instanceMethod。区别就在于添加动态方法要使用prototype原型属性。

对于静态方法可以直接调用   staticClass.staticMethod();
但是动态方法不能直接调用   staticClass.instanceMethod(); //语句错误, 无法运行。

需要首先实例化后才能调用   var instance = new staticClass(); //首先实例化
instance.instanceMethod(); //在实例上可以调用实例方法

//模拟静态
var Animal = function(name){
    this.name = name;      
    Animal.instanceCounter ++; 
};            
Animal.instanceCounter = 0;

Animal.prototype.sayHellow = function(){
    console.log('this.name');
}

var animal = new Animal('name');
var animal2 = new Animal('name2');
console.log(Animal.instanceCounter);//2
console.log(animal.instanceCounter);//undefined



分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    (js)静态与非静态方法

    在JavaScript中,静态方法与非静态方法是面向对象编程中的两个基本概念,它们在类的定义和实例化过程中扮演着重要角色。理解这两者之间的区别对于编写高效、可维护的代码至关重要。 ### 静态方法 #### 定义 静态...

    js静态方法与实例方法分析

    JavaScript中的静态方法和实例方法是面向对象编程中的两个核心概念,它们在定义和使用上有着显著的区别,且各自有其特定的应用场景。 首先,我们来理解什么是静态方法。静态方法是属于类(构造函数)本身的方法,而...

    JS中类的静态方法,静态变量,实例方法,实例变量区别与用法实例分析

    本文实例讲述了JS中类的静态方法,静态变量,实例方法,实例变量区别与用法。分享给大家供大家参考,具体如下: 1.类的静态方法 先来段代码之后分析 // JS类静态函数 function BaseClass() { } // 类添加add函数 ...

    JAVA静态方法和非静态方法的区别和实例.doc

    JAVA静态方法和非静态方法的区别和实例 静态方法和非静态方法是 Java 编程语言中两个基本概念,它们在编程实践中扮演着重要角色。了解它们的区别和使用场景对于编写高效、可维护的代码至关重要。 什么是静态方法?...

    Java中的静态变量静态方法静态块与静态类.docx

    静态方法与静态变量一样,也是属于类本身,而不是类的实例对象。在一个静态方法中,除了局部变量外,能够访问的外部变量也必须是静态的,能够访问的外部方法也必须是静态的,实例变量和实例方法均不能访问。 静态...

    Mongoose索引、Mongoose内置方法、扩展Mongoose Model的静态方法和实例方法.zip

    本资源主要探讨了Mongoose中的几个关键概念:索引、内置方法、以及如何扩展Model的静态和实例方法。 首先,我们来了解一下Mongoose中的索引。索引是数据库中的一个重要工具,它能提高数据查询的速度。在Mongoose中...

    Js类的静态方法与实例方法区分及jQuery拓展的两种方法

    JavaScript 类的静态方法和实例方法是面向对象编程中的两个核心概念。在JavaScript中,虽然它是一种基于原型(Prototype)的面向对象语言,但我们可以通过ES6引入的类(Class)语法来模拟类的概念。 静态方法是属于...

    JavaScript基础之静态方法和实例方法分析

    在JavaScript中,静态方法和实例方法是两种不同类型的成员,它们在类或对象的生命周期中扮演着不同的角色。 **静态方法**是直接定义在构造函数(类)本身上的方法,而不是它的实例。这意味着静态方法不能通过实例来...

    es6中class类静态方法,静态属性,实例属性,实例方法的理解与应用分析

    本篇文章将深入探讨`class`中的静态方法、静态属性、实例属性和实例方法的概念、用法以及它们在实际应用中的注意事项。 ### 静态方法 静态方法是绑定到类本身而不是类的实例的方法。它们通过在方法前加上`static`...

    EXT dojochina Ext类静态方法.rar

    EXT dojochina Ext类静态方法是一个关于EXT框架在JavaScript中的使用的主题,主要聚焦于Ext类的静态方法。EXT是一个强大的前端开发框架,由Sencha公司开发,它提供了丰富的组件库,用于构建复杂的Web应用程序。在EXT...

    js实例大全 js实例

    JavaScript,简称JS,是一种...通过这个"JS实例大全",开发者不仅可以深入理解JavaScript的各项功能,还能学习到实际项目中常见的问题解决方法,提升编程技能。无论你是初学者还是经验丰富的开发者,都能从中受益匪浅。

    ES6 javascript中class静态方法、属性与实例属性用法示例

    在面向对象编程中,静态方法通常用于提供与类紧密相关但与实例无关的功能,例如工具函数。 静态属性则是直接属于类本身的属性,它们不依赖于类的任何实例。静态属性可以用来存储类级别的数据,比如配置信息、缓存...

    静态门户网站实例——得艺

    【静态门户网站实例——得艺】是一个使用jQuery框架构建的前端项目,主要涉及的技术栈包括jQuery、HTML、CSS和JavaScript。这个实例旨在展示如何利用这些技术创建一个动态且交互性强的静态网站,为用户提供丰富的...

    js面向对象之静态方法和静态属性实例分析

    与普通的实例方法和属性不同,静态方法和属性属于构造函数本身,并不依赖于构造函数的任何实例。 下面是一个关于静态方法和静态属性的基本示例: ```javascript function Bird() { this.wing = 2; this.fly = ...

    JS定义静态类

    在面向对象编程中,静态方法和属性通常与类而不是实例相关联。这意味着它们可以通过类名直接访问,而无需创建类的实例。在ES6及更高版本中,可以直接在类定义内部声明静态方法和属性。 ### 代码解析 #### 函数`...

Global site tag (gtag.js) - Google Analytics