Ayons d'abord un mini programme d'un constructeur simple + objet prototype
Fonction createoBj (uname, uage) {this.Username = uname; }Il n'y a pas de problème dans ce programme, mais il est très redondant . :
CreateObj.prototype = {showUserage: function () {return this.Userage;}, showUsername: function () {return this.USERNAME; ));Cependant, l'écriture de cet objet Prototype appartient à l'objet Prototype par défaut de CreateObj.
Avant la réécriture, le constructeur pointe vers CreateObj
Fonction createoBj (uname, uage) {this.Username = uname; } console.log (createObj.prototype.constructor === CreateObj);Après réécriture, Constructionor pointe vers l'objet
CreateObj.prototype = {showUserage: function () {return this.Userage;}, showUsername: function () {return this.USERNAME; .Constructor === Objet);Par conséquent, Constructionor ne peut pas identifier avec précision l'objet, car il sera modifié
Les procédures que nous avons écrites auparavant sont essentiellement élargies sur l'objet prototype (prototype), puis les objets instanciés.
L'objet d'instance peut-il appeler l'extension normalement?
Fonction CreateObj (uname, uage) {this.USERNAME = uname; } console.log (obj1.showUsername ());Il peut être appelé normalement, mais si l'objet prototype est réécrit, il ne sera pas appelé
Fonction createoBj (uname, uage) {this.Username = uname; ;Parce qu'après réécrire l'objet Prototype, en même temps, il se produit avant la réécriture. La valeur du type de référence, toutes les autres instances recevront le résultat après la modification.
Fonction CreateObj () {} createObj.prototype = {name: 'Ghostwu', [PHP ',' JavaScript ',' Linux ']}; Python ');La fonction de partage du prototype peut être pratique pour étendre certaines méthodes pour certains objets construits, tels que le tableau à répéter
Array.prototype.Unique = fonction () {var res = []; = - 1) {res.push (this [i]);}} return res;} var anrr = [10, 20, 30, 30, 20, 40, 20]; ;Cependant, n'étendez pas la méthode sur les objets construits avec désinvolture.
Ce qui précède est tout le contenu de cet article.