Bootstrap Function Declaration [duplicate]
Asked Answered
D

1

9

I was taking a look through the bootstrap JS source and I came across something that I haven't seen before:

+function ($) { "use strict";
//...
}(window.jQuery);

What's the deal with the + in front of the function declaration? Is it to mitigate some potential minification problems or something?

I believe that placing a + before an expression type converts the result of the expression to a number, but I don't see what the relevance of that would be here.

Thanks for anybody who can shed some light on this for me.

Dihydric answered 22/9, 2013 at 21:2 Comment(0)
C
9

That is so that the function declaration is a function expression, so that it can be executed immediately.

Usually that is done by putting parentheses around it:

(function ($) { "use strict";
//...
}(window.jQuery));

or:

(function ($) { "use strict";
//...
})(window.jQuery);
Chevet answered 22/9, 2013 at 21:4 Comment(2)
Interesting, so the + basically "evaluates" the code that follows it which turns it into an expression? Also, I assume there is no difference between using the + before the function declaration or putting parentheses around it (the function declaration)?Dihydric
@Adam:Yes, in both cases it's just to keep the syntax from being a regular function definition, and in both cases the result of the entire expression (i.e. the return value from the function) is ignored.Chevet

© 2022 - 2024 — McMap. All rights reserved.