首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么只有javascript需要原型?

为什么只有javascript需要原型?
EN

Stack Overflow用户
提问于 2015-03-22 11:21:59
回答 2查看 36关注 0票数 0

阅读一些文章,其中说Javascript使用prototype来保持实例方法或属性只有一个副本。

我很困惑;为什么像C++、C#或Java这样的语言不需要原型?如果有数千个实例,这些语言会重复数千次方法吗?

EN

回答 2

Stack Overflow用户

发布于 2015-03-22 11:27:25

不,其他语言也有类似的机制来避免类实例上的方法重复。与其他语言相比,使用JavaScript时,这只是更公开/更手动。

票数 0
EN

Stack Overflow用户

发布于 2015-03-22 11:32:02

在上面提到的语言中,javascript中的class代替了prototype。请记住,这些语言是编译的,这意味着在执行之前,编译器需要遍历整个程序并收集所有元数据。指向成员函数的指针存储在特殊的内存表中,对象拥有的所有内容都是对该表的引用。此外,它们也是所谓的强类型语言。这意味着一旦定义了类的成员,就不能在运行时更改它。

Javascript绝对不是这样的。它更接近解释器。它只需要预编译一个函数,而不是整个程序。此外,javascript的动态性要求能够显式访问对象的类(原型)。您可以将javascript中的prototype视为C#中的反射

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29190589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档