The application of the javascript global variable encapsulation module is described in detail in this article. For more information, refer to the following code:
The Code is as follows:
/* Global window, jQuery, validate_email, masterUI, $, rest */
/** Enable ECMAScript "strict" operation for this function. See more:
* Http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/
* Http://stackoverflow.com/questions/5020479/what-advantages-does-using-functionwindow-document-undefined-windo
* Q1: Why are windows and document being fed instead of just being accessed normally?
* A1: Generally to fasten the identifier resolution process, having them as local variables can help (although IMO the performance improvements may be negligile ).
* A2: Passing the global object is also a widely used technique on non-browser environments, where you don't have a window identifier at the global scope, e.g .:
* (Function (global ){
*//..
*}) (This); // this on the global execution context is the global object itself
* A3: Passing window and document allows the script to be more efficiently minified
*
* Q2: Why the heck is undefined being passed in?
* A1: This is made because the undefined global property in ECMAScript 3, is mutable, meaning that someone cocould change its value affecting your code, for example:
* Undefined = true; // mutable
* (Function (undefined ){
* Alert (typeof undefined); // "undefined", the local identifier
*}) (); // <-- No value passed, undefined by default
* If you look carefully undefined is actually not being passed (there's no argument on the function call ),
* That's one of the reliable ways to get the undefined value, without using the property window. undefined.
*
*/
(Function (window, document, undefined ){
"Use strict ";
Window. test = {
Init: function (){
"Use strict ";
Alert ("OK ");
}
};
}) (Window, document); // no undefined parameter here to avoid using mutable window. undefined changed by other guy
1. For details, refer to an article and a post on stackoverflow.
2. (function () {}) () code is written in an independent js file. When the js file is loaded by html, the function will be executed. In fact, a windows. text object is created.
Later, the html code can be called in the form of test. init.
The code for testing html is as follows:
The Code is as follows:
[Plain] view plaincopyprint?
AppEngine SDK