in reply to Re: "When closures capture their context" and "scope gotchas in Javascript"
in thread "When closures capture their context" and "scope gotchas in Javascript"

You actually do not need to give the function a name:

(function(){alert('Gotcha')})();
or in your case:
function sayHello(name){ var sayAlert; (function() { var text = 'Hello' + name; sayAlert = function() { alert(text) } })(); var text = 'How confused am I?'; sayAlert(); }