欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-05 16:12:59
我又回来了,最近忙着喝枸杞,没来写博客感觉很有负罪感,今晚我来写一点小小的知识点 可能我们在用形如Array.of()的方法时会产生一些疑问,为什么我们能不实例化直接使用Array上的of()方法呢,其实原理很简单,就是of()方法时Array的静态方法,所以我们才能直接Array.of()来使用 ......

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

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

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

//首先我们来模拟一个array的构造函数
function newarray(){}
//再给这个构造函数原型对象上添加方法
newarray.prototype.shiyan = function(){
    console.log("我是实验函数")
}

// 现在我们这样调用的时候
newarray.shiyan();

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

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

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

静态函数:

//首先我们来模拟一个array的构造函数
function newarray(){}

//我们现在不再去给构造函数的原型对象上添加方法
// 而是给构造函数上添加静态方法
newarray.of=function(){
    console.log("我是构造函数的静态方法");
}

//现在我们再来试试能不能通过类似于array.of()方法调用
newarray.of();

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

 

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

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