js函数的prototype

在js中,每个函数都有一个prototype属性,它默认指向一个object空对象,这个object空对象也叫原型对象。在这个原型对象中,有一个属性叫做constructor,它指向函数对象。那么,怎么理解这句话呢。

比如我们现在输出这样一句话:

现在来看控制台输出结果:

它返回的是一个Object,并且这个Object中有各种方法和constructor(因为JS中已经为将Date函数写好了)。但是这个Object是有方法的。但如果我们自己写一个函数,如下:


它的输出结果就是:


此时,你就会发现,这个Object对象里是什么都没有的。假设现在我们往fun函数的prototype中添加一个test方法,如下:

在来看此时的输出结果:

那么,此时prototype中就有了test方法。

怎样理解prototype中的constructor,constructor指向了函数对象,这句话的意思就是如下:

为了更好的理解这句话:我们这样写一段代码:


这个输出的结果是true,说明constructor指向了函数对象

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容