Maison >interface Web >js tutoriel >Une brève discussion sur le principe du nouvel opérateur en JS

Une brève discussion sur le principe du nouvel opérateur en JS

怪我咯
怪我咯original
2017-07-04 15:22:321414parcourir

L'éditeur suivant vous apportera une brève discussion sur le principe du nouvelopérateur en javascript. L'éditeur pense que c'est plutôt bien, alors je vais le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un coup d'œil.

nouveau en JavaScript est un sucre syntaxique Pour ceux qui ont étudié les langages orientés objet tels que C++, Java et C#, pensent-ils. que dans js Il y a une différence entre les classes et les objets. Dans l'implémentation, js n'a pas de classes. Tout est un objet, ce qui est plus approfondi que java

Le processus de new consiste en fait à créer un nouvel objet. et définissez le prototype du nouvel objet sur le constructeur. Le prototype de la fonction constructeur. Dans le processus d'utilisation de new, un total de trois objets participent à la collaboration. La fonction constructeur est le premier objet, l'objet prototype est deux et. un objet vide nouvellement généré est le troisième objet. Enfin, il renvoie un objet vide, mais cet objet vide n'est pas un vide, mais une référence qui contient déjà un prototype (proto )

Les étapes sont les suivantes :

(1) Créer un objet vide obj

(2) Laisser le proto (IE n'a pas cet attribut) membre de l'objet vide pointe vers l'objet membre prototype du constructeur

(3) Utilisez apply pour appeler la fonction constructeur, et ceci est lié à l'objet vide obj.

(4) Renvoie l'objet vide obj

Vous pouvez écrire votre propre fonction au lieu d'utiliser new L'exemple de code est le suivant :

function NEW_OBJECT(Foo){

var obj={};
obj.proto=Foo.prototype;
obj.proto.constructor=Foo;
Foo.apply(obj,arguments)
return obj;

}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn