“节省内存空间”要看从什么角度来讲。实际上由于 js 是非编译型语言,运行时的内存占用是普遍高于编译型语言的。因此从这个角度来看,使用原型链也并没有“节省内存空间”。但如果不使用原型链,而是每个“类”完全复制父类的方法,那么毫无疑问是比使用原型链更占用内存的。而使用原型链后,一个原型链上的对象会共用引用部分方法,从这个角度大概可以说“节省内存空间”了吧。
“节省内存空间”要看从什么角度来讲。
实际上由于 js 是非编译型语言,运行时的内存占用是普遍高于编译型语言的。因此从这个角度来看,使用原型链也并没有“节省内存空间”。
但如果不使用原型链,而是每个“类”完全复制父类的方法,那么毫无疑问是比使用原型链更占用内存的。而使用原型链后,一个原型链上的对象会共用引用部分方法,从这个角度大概可以说“节省内存空间”了吧。