jquery部分

JQuery原理

jQuery采用的是构造函数模式进行开发的,jQuery是一个类
上面说的常用的方法(CSS、属性、筛选、事件、动画、文档处理)都是定义在jQuery.prototype上的 ->只有jQuery的实例才能使用这些方法
<script>   (function(w){ //工厂 function jQuery(selector, context){ return new jQuery.fn.init(selector, context); } //给原型提供一个简写方式 jQuery.fn = jQuery.prototype = { }; //init才是jQuery中真正的构造函数 var init = jQuery.fn.init = function(selector, context){ }; //把构造函数的原型,替换为jQuery工厂的原型 //这么做的目的是为了实现jQuery的插件机制,让外界可以通过jQuery方便的进行扩展 init.prototype = jQuery.fn; w.jQuery = w.$ = jQuery; }(window));
       
//实现一个插件
        jQuery.fn.jqAlert = function(msg){
          alert(msg);
        }
        $().jqAlert('aaa')
</script>
        1.借助了沙箱模式
            其实整个jQuery包中的代码就是一个自执行函数,并且把window对象作为参数传递了过去。
        2.jQuery函数只是一个工厂,
            真正的构造函数时jQuery.fn.init()
        3.把init的原型对象替换为jQuery.fn,
            其实也就是替换为了jQuery这个函数自己的原型对象,也就是jQuery.prototype,这么做的目的是为了实现插件机制,让外界可以通过jQuery方便的进行扩展。
原文地址:https://www.cnblogs.com/slightFly/p/10589092.html