JSz中的静态方法和实例方法的分析

  我又回来了,最近忙着喝枸杞,没来写博客感觉很有负罪感,今晚我来写一点小小的知识点

  可能我们在用形如Array.of()的方法时会产生一些疑问,为什么我们能不实例化直接使用Array上的of()方法呢,其实原理很简单,就是of()方法时Array的静态方法,所以我们才能直接Array.of()来使用

可能我这个表述不是很清楚,没事,下面我们来通过一个栗子来看一下到底是怎么回事

1//首先我们来模拟一个Array的构造函数 2function newArray(){} 3//再给这个构造函数原型对象上添加方法 4newArray.prototype.shiyan = function(){ 5 console.log("我是实验函数") 6} 7 8// 现在我们这样调用的时候 9newArray.shiyan();

这木写函数用形如Array.of()调用的时候会报一个错误

这样显然不符合我们想做成Array.of()这种调用方式的要求,别急,我们来试试另一种方法

静态函数:

1//首先我们来模拟一个Array的构造函数 2function newArray(){} 3 4//我们现在不再去给构造函数的原型对象上添加方法 5// 而是给构造函数上添加静态方法 6newArray.of=function(){ 7 console.log("我是构造函数的静态方法"); 8} 9 10//现在我们再来试试能不能通过类似于Array.of()方法调用 11newArray.of();

我们可以看到现在我们能通过形如Array.of()调用到方法了,真的是美滋滋。

好了,今天先就这样吧,大家下次见

点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java中static关键字的使用

知识点:java中,static关键字修饰类的变量、方法、代码块、内部类场景:我们在创建类的方法和变量时,如果这个类在创建多个对象时,共用同一个属性或者方法,就可以使用static关键字修饰,因为static修饰的变量,在内存的静态域存在的值,被类的多个实例所共用,实际上我们在编写一个类时,就是在描述对象的属性和行为,并没有产生实质上的对

java中static的作用详解

java中static关键字表示静态的意思,主要用于以下三点,static成员变量,static成员方法和static块。在类中如果定义了static类型的对象(变量或者方法),在java虚拟机(JVM)加载类时,该对象就会被实例化,在使用的时候就不需要再去实例化,直接调用就可以了。常与private,public搭配使用。下面详细说一下这三部分。1

Spring使用静态工厂方法创建Bean

1\.使用静态工厂方法创建Bean    使用静态工厂方法创建Bean实例时,class属性也必须指定,但此时class属性并不是指定Bean实例的实现类,而是静态工厂类。因为Spring需要知道是用哪个工厂来创建Bean实例。另外,还需要使用factorymethod来指定静态工厂方法名,Spring将调用静态工厂方法(可能包含一组参数),

Kotlin中类似java的静态方法

在java中,我们在写一些静态方法时会这样写:publicclassUtils{publicstaticStringgetName(){return"yiifox";}}在Kotlin中没有静态方法一说,网上大多说使用伴生对象来模拟静态方法,其实这种

IBatis Mapper&Spring Data JPA实现原理

   因为我们最近的一个项目数据库访问呢层使用Ibatis, 今天团队成员问Ibatis中只写接口,不写实现,Ibatis是如何帮助我们查询数据。其实原理很简单,就是Java的反射和代理,因为Java的代理是真对于接口的。所以我们就可以在开发中DAO模块就直接写接口和对用的SQL就可以。实现类由我们生成代理,当代理方法被调用的时候我们就使用通用的数据库