Self-executing anonymous functions in JavaScript
Format:
1 2 3 |
(function () {//code}) (); |
Explanation: This is quite elegant code (if you first see a possible confused:), the first pair of parentheses of the enclosing function (function () {}) returns an unnamed function to the script, followed by a pair of empty parentheses that immediately executes the returned unnamed function, with the parameters of the anonymous function in parentheses.
Here's an example with a parameter:
1 2 3 4 |
(function (ARG) {alert (arg+100); }) (20); This example returns 120. |
Important use: You can use it to create namespaces, as long as you write all of your code in this particular function package, then the outside can not access, unless you allow
1 2 3 4 5 6 7 8 9 10 |
(function () {function $ (id) {return document.getElementById (ID); function __addclass (id,classname,classvalue) {$ (id). style.classname=classvalue; window[' MySpace ']={}; window[' mySpace ' [' AddClass ']=__addclass; })(); |
The above example allows you to encapsulate and protect all of your functions, objects, and variables with this pseudo namespace. Also, because they are in the same function, they can be referenced to each other. In order to be global to the protected Code, a subsequent pair of parentheses tells the browser to execute the returned anonymous function immediately, and the __addclass () is assigned to a method of window during execution, so that only addclass can be performed externally and __addclass is protected. I can call it this way: Myspace.addclass (' Oneid ', ' font-width ', ' bold ')