Javascript的主要优势之一据说是它是一种基于原型的语言。

但是Javascript是基于原型的,这意味着什么?为什么这是一个优势?


当前回答

基于原型的语言,没有区分类和对象:它只是有对象。基于原型的语言具有原型对象的概念,原型对象用作模板,从中获取新对象的初始属性。任何对象都可以指定自己的属性,无论是在创建时还是在运行时。此外,任何对象都可以作为另一个对象的原型相关联,从而允许第二个对象共享第一个对象的属性。

其他回答

读完所有答案后,这是结论

1)继承,直接从其他对象继承对象

2)不使用类

3)也称为基于实例的编程或面向无类原型的编程

4)行为重用通过克隆作为原型的现有对象来实现

5)作为模板的对象从新对象中获取初始属性

基于原型的编程是一种面向对象的编程风格,其中不存在类,行为重用(或基于类的语言中的继承)通过克隆作为原型的现有对象来执行。

优点/缺点是,我们可以在运行时创建新的对象类型,而不需要定义类(静态代码)。与大多数功能一样,这取决于开发者如何将其转化为优势或劣势。

以上是可能的,因为对象本质上是java脚本中的函数(闭包也是)。

基于原型的语言,没有区分类和对象:它只是有对象。基于原型的语言具有原型对象的概念,原型对象用作模板,从中获取新对象的初始属性。任何对象都可以指定自己的属性,无论是在创建时还是在运行时。此外,任何对象都可以作为另一个对象的原型相关联,从而允许第二个对象共享第一个对象的属性。

内存保存是JS中原型继承的好处之一。在像Java这样的语言中,对象会生成父类的实例变量和方法的自己的副本,而在JS中,“super”对象为每个继承自它的“子”对象提供了对其变量和方法的访问,而不需要重新创建它们。