


Quelle est la propriété du prototype javascript ? et les trois étapes pour instancier un objet
Jul 20, 2017 pm 03:42 PMToutes les fonctions JS ont un attribut prototype, qui fait référence à un objet, l'objet prototype, également appelé prototype. Cette fonction comprend des constructeurs et des fonctions ordinaires. Nous parlons davantage du prototype du constructeur, mais on ne peut nier que les fonctions ordinaires ont aussi des prototypes. Par exemple, des fonctions ordinaires :
function F(){ alert(F.prototype instanceof Object) //true; }
Constructeur, c'est-à-dire construire des objets. Tout d’abord, comprenons le processus d’instanciation d’un objet via le constructeur.
function A(x){ this.x=x; } var obj=new A(1);
Il y a trois étapes pour instancier l'objet obj :
1. Créez l'objet obj : obj=new Object(); >2. Le __proto__ interne d'obj pointe vers le prototype de la fonction A qui l'a construit. En même temps, obj.constructor===A.prototype.constructor (cela est toujours vrai, même si A.prototype ne pointe plus vers le __proto__ interne de obj. original Un prototype, c'est-à-dire : L'attribut constructeur de l'objet instance de la classe pointe toujours vers le prototype.constructor du "constructeur"), de sorte que obj.constructor.prototype pointe vers A.prototype (obj.constructor. prototype===A.prototype, lorsque A.prototype change n'est pas vrai, comme nous le verrons ci-dessous). obj.constructor.prototype et le _proto_ interne sont deux choses différentes. _proto_ est utilisé lors de l'instanciation d'un objet. Obj n'a pas d'attribut de prototype, mais il a un __proto__ interne. Vous pouvez utiliser __proto__ pour obtenir les attributs de prototype sur la chaîne de prototypes. . et les méthodes prototypes, FireFox expose __proto__, qui peut être alerté dans FireFox (obj.__proto__) ;
3 Utilisez obj comme ceci pour appeler le constructeur A pour définir les membres (c'est-à-dire les propriétés de l'objet et les méthodes de l'objet) et initialisé. .
var num=0; for(o in A.prototype) { alert(o);//alert出原型属性名字 num++; } alert("member: " + num);//alert出原型所有成员个数。
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Quel type de processus est ccsvchst.exe ?

Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript

WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel

Comment mettre en œuvre un système de réservation en ligne à l'aide de WebSocket et JavaScript

Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP

JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel

Qu'est-ce qu'un navigateur dual-core ?
