What does this JavaScript snippet mean? [duplicate]
I have not met this type of grammar before. What does it mean? To what technique is it related?
(func开发者_如何学运维tion(fun) {
})(myFunkyAlert);
This is an anonymous function that will run as soon as it is declared. Its parameter is myFunkyAlert
and inside the function it will be referenced as the fun
variable.
The reason we usually write a function like that is to avoid conflicts, due to scoping.
Example:
var myFunkyAlert = "The funky alert";
(function(fun) {
alert(fun);
})(myFunkyAlert);
This will result in an alert with the message "The funky alert".
You're defining an anonymous function and then calling it with myFunkyAlert
as an argument.
精彩评论