/ / Fonctions d'imbrication JavaScript et leur utilisation - javascript

Fonctions d'imbrication JavaScript et leur utilisation - javascript

Je suis plus récent que JavaScript et viens d'un JavaContexte. J'essaie d'écrire une application JavaScript assez simple, mais j'ai quelques problèmes. Je souhaite dupliquer une sorte de structure de classe en JavaScript. Le problème que j'ai est lié à l'étendue des fonctions à l'intérieur des fonctions.

Je veux créer une structure comme celle-ci

function codeArray() {
function create() {
addElement( prop1, prop2,) {
//create an element
}

function traverse(object) {
//recursively go through some nested list data structure
addElement(asd, 4534);
}
}

function deleteElement() {
//delete a single element from an array
}

print() {
//print array;
}
}

something.click(function() {
codeArray.create();
codeArray.print();
});

Donc, la question que je rencontre est à cause de laétendue des fonctions imbriquées dans codeArray Je ne peux pas y accéder de l'extérieur de CodeArray. Serait-ce une mauvaise pratique de l'encapsulation de se débarrasser simplement de la fonction wrapper CodeArray? Quelqu'un peut-il suggérer une meilleure réécriture pour savoir comment faire cela?

Merci d'avance.

Réponses:

7 pour la réponse № 1

Vous avez presque raison. Vous devriez plutôt utiliser un objet:

codeArray = {
create:function() {
// ...
},
// ...
print:function() {
// ...
}
};

Ensuite, vous pouvez appeler:

codeArray.create();
codeArray.print();