To summarize:
1. The entire class library is defined in an anonymous function, eliminating the generation of global variables;
2. Passing undefined as a missing parameter prevents the pollution of undefined variables;
3. It can be seen that $(...) actually returns an instance of the jQuery.fn.init object, and then points the prototype of the object to jQuery.prototype (statement jQuery.fn.init.prototype = jQuery.fn ), so the generated instances share the methods and properties in jQuery.prototype and implement chain programming operations;
4. Finally, export jQuery and $ as global variables through window.jQuery = window.$ = jQuery.