KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I was reading some posts about closures and saw this everywhere, but there is no clear explanation how it works - everytime I was just told to use it...: // Create a new anonymous function, to use as a wrapper (function(){ // The variable that would, normally, be global var msg = "Thanks for visiting!"; // Binding a new function to a global object window.onunload = function(){ // Which uses the 'hidden' variable alert( msg ); }; // Close off the anonymous function and execute it })(); Ok I see that we will create new anonymous function and then execute it. So after that this simple code should work (and it does): (function (msg){alert(msg)})('SO'); My question is what kind of magic happens here? I thought that when I wrote: (function (msg){alert(msg)}) then a new unnamed function would be created like function ""(msg) ... but then why doesn't this work? (function (msg){alert(msg)}); ('SO'); Why does it need to be in the same line? Could you please point me some posts or give me an explanation?
Tags (comma-separated)
Save Edits
Cancel