Cómo acceder a la function dentro de la function?

hoy mi pregunta es preguntar cómo accedería a una function dentro de una function. Entonces, por ejemplo, tengo un button, y si hago clic en él, alertaría. El caso es que si tiene una function que rodea la function, la function interna con la alerta no alertaría.

Aquí hay un ejemplo:

html:

<button onclick="doStuff()">Alert</button> 

js:

 function nothing() { var doStuff = function() { alert("This worked!") } } 

por lo que la function doStuff() no funcionaría. ¿Alguien puede ayudarme a encontrar una manera de acceder a él? Gracias.

@Joseph the Dreamer es en última instancia correcto, pero si no está seguro de llamar a una function anidada en otra function, podría usar un enfoque OOP.

Cree un object de "class" de javascript y scope su function a "this":

 function Nothing() { this.doStuff = function() { alert("works"); } } 
  • A continuación, agrega una identificación a su button,
  • junto con un oyente de evento click

Luego, dentro de su evento de clic, puede llamar a doStuff dentro de la function Nothing "Class" como esta:

 var object = new Nothing(); object.doStuff(); 

https://jsfiddle.net/me7fek5f/

No puedes. Esto se debe a que está encerrado en un ámbito al que no se puede acceder de manera global. La única forma en que puede acceder a ella es exponiéndola en algún lugar fuera de la nothing .

¿Es esta una pregunta de tarea?

Probablemente se te pida que hagas algo como esto:

 function nothing() { var doStuff = function() { alert("This worked!") } var yourButton = getYourButton(); attachClickListener(yourButton, doStuff); 

Las implementaciones de getYourButton y attachClickListener se dejan al lector.