Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialCatalin Radu
6,037 PointsWhy is the code wrapped in round brackets?
It's first time when I see this and I don't understand what is doing.
(function () {
// some code here
})();
1 Answer
Jacob Mishkin
23,118 PointsIt's a Immediately Invoked Function Expression, which is a is a design pattern that invokes a self executing anonymous function. There are two parts to this design pattern. First is the JavaScript (function () {
Here what is happening is the creating an anonymous function that is scoped to just that function. the second part is the () at the end of the function block. This creates an immediately executing function expression, and the JavaScript interpreter will directly invoke the function. Here is an example:
(function () {
var aName = "Barry";
})();
// Variable name is not accessible from the outside scope
aName // throws "Uncaught ReferenceError: aName is not defined"
Catalin Radu
6,037 PointsCatalin Radu
6,037 PointsThank you very much! Now it's more clear for me.
Jacob Mishkin
23,118 PointsJacob Mishkin
23,118 PointsRight on! Glad I could help.