js est un langage basé sur l'héritage prototypique. Au début de la création, j'ai fait référence à Scheme, qui utilise des fonctions de citoyens de première classe, la syntaxe du langage C et l'héritage prototypique du langage propre, c'est donc une combinaison des avantages des trois qu'on l'appelait à l'origine ; LiveScript, mais Java était très populaire à l'époque, donc la société a changé son nom. Elle s'appelle JavaScript, mais en réalité cela n'a rien à voir avec Java. L'avantage de l'héritage prototypique est qu'il permet un héritage multiple et peut simuler des classes, mais les langages de classe ne peuvent jamais simuler des prototypes. C'est la flexibilité de JavaScript, qui peut être utilisé aussi bien pour la programmation fonctionnelle que pour la programmation orientée objet.
Les classes et les objets en JavaScript sont intrinsèquement controversés car ils utilisent l'héritage prototypique, qui est un héritage obtenu en référençant des méthodes sur la chaîne de prototypes. Les méthodes sur l'objet que vous appelez sont finalement appelées et sont essentiellement implémentées à l'aide de l'héritage prototypique. Nous devons donc encore mieux comprendre comment l’héritage prototypique est mis en œuvre. Object.prototype上面的方法。这些方法即使不使用new来进行定义,使用对象字面量的方式进行定义,也是可以进行调用的。 也就是如果你修改了Object.prototype上的方法,那么所有的对象调用的该方法都会改变。JavaScript里面所有的构造函数其实都是用原型继承的方法fake出来的。即使ES6里面新添加的class
js est un langage basé sur l'héritage prototypique. Au début de la création, j'ai fait référence à Scheme, qui utilise des fonctions de citoyens de première classe, la syntaxe du langage C et l'héritage prototypique du langage propre, c'est donc une combinaison des avantages des trois qu'on l'appelait à l'origine ; LiveScript, mais Java était très populaire à l'époque, donc la société a changé son nom. Elle s'appelle JavaScript, mais en réalité cela n'a rien à voir avec Java.
L'avantage de l'héritage prototypique est qu'il permet un héritage multiple et peut simuler des classes, mais les langages de classe ne peuvent jamais simuler des prototypes. C'est la flexibilité de JavaScript, qui peut être utilisé aussi bien pour la programmation fonctionnelle que pour la programmation orientée objet.
http://www.cnblogs.com/wangfu...
Les classes et les objets en JavaScript sont intrinsèquement controversés car ils utilisent l'héritage prototypique, qui est un héritage obtenu en référençant des méthodes sur la chaîne de prototypes. Les méthodes sur l'objet que vous appelez sont finalement appelées et sont essentiellement implémentées à l'aide de l'héritage prototypique. Nous devons donc encore mieux comprendre comment l’héritage prototypique est mis en œuvre.
Object.prototype
上面的方法。这些方法即使不使用new
来进行定义,使用对象字面量的方式进行定义,也是可以进行调用的。也就是如果你修改了
Object.prototype
上的方法,那么所有的对象调用的该方法都会改变。JavaScript里面所有的构造函数其实都是用原型继承的方法fake出来的。即使ES6里面新添加的class