/ / Funções de aninhamento JavaScript e usá-las - javascript

Funções de aninhamento de JavaScript e usá-las - javascript

Eu sou mais novo no JavaScript e venho de um Javafundo. Estou tentando escrever um aplicativo JavaScript bastante simples, mas estou tendo alguns problemas. Quero duplicar um tipo de estrutura de classe no JavaScript, o problema que estou tendo está relacionado ao escopo das funções dentro das funções.

Eu quero criar uma estrutura como esta

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();
});

Portanto, o problema que estou enfrentando é por causa doescopo das funções aninhadas dentro de codeArray Não consigo acessá-las de fora de codeArray. Seria uma má prática de encapsulamento livrar-se da função codeArray do wrapper? Alguém pode sugerir uma reescrita melhor de como fazer isso?

Desde já, obrigado.

Respostas:

7 para resposta № 1

Você está quase certo. Você deveria usar um objeto:

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

Então você pode ligar:

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