1、为了防止全局变量污染,把 jQuery 的代码写在一个自调函数中。
2、咱们平常使用的$实际上 jQuery 对外暴露的一个工厂函数。
3、而构造函数在 jQuery 的内部叫 init,并且这个构造函数还被添加到了 jQuery 的原型中。当我们调用工厂函数的时候返回的其实是一个构造函数的实例。
4、jQuery 为了让第三方能够对其功能进行扩展,所以把工厂函数的原型与构造函数的原型保持了一致。这样子对外暴漏工厂函数,即可对原型进行扩展。