猿问

请各位大佬指点!prototype和constructure区别求指导!

functionfn(){this.say=function(){}}fn.prototype.say=function(){}这两种方式有什么区别呢,具体一点
蝴蝶不菲
浏览 357回答 2
2回答

慕哥6287543

在构造函数中创建的每个方法,都要在每个实例上重新创建一遍,也就是说不同实例上的同名函数是不相等的,无法实现函数复用,而在原型上的方法是被所有实例所共享的。可以了解一下JavaScript中的继承。

米琪卡哇伊

这样理解吧如果把say函数在fn构造函数里声明的话所有fn的实例都会占一份say的内存如果是通过prototype这是占用一份内存在fn.prototype上
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答