Tengo algunos problemas aquí al intentar llamar a la función C desde un evento onClick en la página.
function leftArrowClicked() { functionA(functionC); } function functionA() { function functionB(w) { function functionC() { // do stuff }; } }
<div id="dashboard_left_arrow" onclick="leftArrowClicked()">Click</div>
Pero, por supuesto, no funciona. Actualmente veo 'functionC no está definido' en la consola. No sé mucho sobre funciones anidadas, por lo que probablemente mi método no funciona. ¿Algunas ideas?
Puedes usar algo llamado Patrones de Diseño Modular . Es algo como esto: puede ver que la función A es una función que ya se invocó, por lo que puedo llamar a la función B directamente porque se devuelve dentro de un objeto. Llamar a functionC se puede hacer además de eso.
var functionA = (function() { function functionB(w) { function functionC() { // do stuff return 'inside functionC'; } return {functionC:functionC}; } return {functionB:functionB}; })(); function leftArrowClicked() { console.log(functionA.functionB('').functionC()); }
<div id="dashboard_left_arrow" onclick="leftArrowClicked()">Click</div>