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

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

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

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

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

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

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

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

静态函数:

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

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

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

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

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

image
盐卤咸鱼
只有当不幸真的到来时,我们才会怀念和渴望那些逝去的美好时光。
3
发布数
0
关注者
1388
累计阅读

热门教程文档

C++
73小节
Kotlin
68小节
Redis
14小节
MyBatis
19小节
C#
57小节
广告