Js_封装JQ库为插件

//在jQuery匿名函数中,采用jQuery.extend();方法创建jQuery插件
//在jQuery匿名函数中, 采用对象.属性 = 函数的方式创建jQuery插件
(function ($) {
    jQuery.extend({
        jia: function (a, b) {
            return a + b;
        },
        jian: function (a, b) {
            return a < b ? b - a : a - b;
        }
    });
    $.sub = {
        sheng: function (a, b) {
            return a * b;
        },
        chu: function (a, b) {
            return a < b ? b / a : a / b;
        }
    }
    jQuery.fn.Insert = function (a) {
        alert(a);
    }
})(jQuery)
    <script type="text/javascript" src="~/jquery-1.7.1.min.js"></script>
    <script type="text/javascript" src="~/JQTest.js"></script>
    <script type="text/javascript">
        function btn_click() {
           var a = prompt("请输入一个数字:");
           var b = prompt("请输入一个数字:");
           var A = prompt("请输入一个数字:");
           var c = jQuery.jia(a, b);
           var d = jQuery.jian(a, b);
           var e = $.sub.sheng(a, b);
           var f = $.sub.chu(a, b);
           alert("相加:" + c + ",相减:" + d + ",相乘:" + e + ",相除:" + f );
           $.fn.Insert("啦啦");
        }
    </script>

    定义:调用一个对象的一个方法,以另一个对象替换当前对象。

    说明:call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。

关于”this”

   在插件的方法中,可能有用到指向插件的this、和指向事件触发的this,所以事件触发的this用event来获取:event.cuerrntTarget

    • event.currentTarget:指向事件所绑定的元素,按照事件冒泡的方式,向上找到元素
    • event.target:始终指向事件发生时的元素

constructor属性:始终指向创建当前对象的构造函数

   每个函数都有一个默认的属性prototype,而这个prototype的constructor默认指向这个函数

原文地址:https://www.cnblogs.com/ingstyle/p/4329443.html