当我遇到对象和类增强时,我阅读了一些在线教程并了解了在对象增强中,我们不需要有prototype关键字来创建变量和方法对象,而在类增强中,我们需要使用prototype关键字来为函数创建变量和方法。几乎都是一样的,但我看到的方法是唯一的区别,创建一个对象的变量和方法。我想了解对象增强和类增强的具体原因。javascript中的对象增强和类增强之间的区别
1
A
回答
3
JavaScript中没有真正的类。它是一种基于OO的语言,但它使用原型继承来实现这一点。
的一般要点是:
当你增加原型,与原型利益的所有对象,获得的功能。优点是使用较少的内存,因为每个人都共享相同的功能对象。使用原型时,模拟基于类的语言也更容易。缺点是拥有任何真正属于客体的隐私是困难的(但并非不可能)。
当您增加单个对象时,您在构建对象方式上有更大的灵活性。您通常可以通过使用关闭来实现私有状态。缺点是每个对象都会获得自己的函数对象副本,从而增加内存使用量。另一个缺点是对象更“特别”,并且用它们创建“类”层次结构更加困难。许多人认为,创建这些层次往往不是必要的或无用的。
内存问题值得思考。当您创建数千个对象时,这意味着对象方法中有成千上万个函数对象,而使用原型方法的函数对象数量会少得多。
相关问题
- 1. 服务编排,聚合和服务增强之间的区别
- 2. 增强几何中的环和多边形之间有什么区别?
- 3. 模拟CGLIB增强对象
- 4. 增强Object类
- 5. Javascript中的基本增强类型
- 6. 强和弱IBOutlets之间的区别
- 7. 增强间隔树
- 8. 对象之间的区别(javascript和jquery)
- 9. R - 整齐增强置信区间
- 10. CGLIB的类生成和增强功能
- 11. bitbucket中增强和建议有什么区别
- 12. 增强抽象语法树
- 13. 增强序列化多个对象
- 14. EBean:java.lang.IllegalStateException:Bean类models.User未被增强?
- 15. 无法增强kodo JPA类
- 16. TypeScript:增强内置类型
- 17. Javascript框架和渐进增强
- 18. 类中字段的字节码增强
- 19. C++中增强向量的子类
- 20. HSV颜色对比增强
- 21. Typescript增强
- 22. 增强算法
- 23. 增强现实
- 24. 增强现实
- 25. 增强forstatement
- 26. 增强性能
- 27. Elasticsearch增强
- 28. 用CUDA增强
- 29. 增强现实
- 30. 数据库中的窃取和强制之间的区别
请举一些例子(代码片段)来区分类和对象增强。 –