j'ai un prototype avec 3 méthodes comme ci-dessous,Numéro privé pour un prototype en javascript
ej.Ej3DRender = function() {
};
ej.Ej3DRender.prototype = {
matrix3D: function (size) {
mData += 3;
},
getIdentity: function() {
mData+=4;
},
turn: function (angle) {
mData+=6;
}
}
Est-il possible de partager une variable commune à toutes les méthodes du prototype? Dans le code ci-dessus, je dois utiliser le "mData" dans toutes les méthodes, alors où puis-je le déclarer? et il devrait être accessible uniquement dans ce prototype.
Merci à l'avance
Votre réponse est erronée, il est possible de le faire. Je vais ajouter une réponse. Notez que l'OP a besoin d'une variable SHARED – HMR
Je suis à peu près sûr que OP veut que la variable partagée entre les méthodes de l'instance concrète ne soit pas partagée entre toutes les instances. Cependant, la question n'est pas suffisamment claire et doit être modifiée par OP. –
Pourrait être partagé sur un prototype signifie généralement partagé par les instances, mais peut-être le PO ne le sait pas. Pour plusieurs instances privées spécifiques, il est possible de créer une seule fermeture qui verrouille les membres privés dans une boîte. Un motif similaire au motif protégé dans ma réponse. Je n'aime pas beaucoup le privé car cela pourrait affecter négativement les tests et les patchs de singe – HMR