jQuery开发插件的两个方法,js中的方法声明

jQuery为开发插件提拱了两个方法(https://www.cnblogs.com/ajianbeyourself/p/5815689.html)教你写jQuery插件

jQuery.extend(object); 即$.extend(object);  jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法。 $.extend()来扩展jQuery
jQuery.fn.extend(object); 即$.fn.extend(object);  jQuery.fn.extend(object);给jQuery对象添加方法。$.fn 向jQuery添加新的方法

第一种方式简单,仅仅是在jQuery命名空间或者理解成jQuery身上添加了一个静态方法而以。所以我们调用通过$.extend()添加的函数时直接通过$符号调用($.myfunction())而不需要选中DOM元素($('#example').myfunction())。请看下面的例子。
$.extend({
    sayHello: function(name) {
        console.log('Hello,' + (name ? name : 'Dude') + '!');
    }
})
$.sayHello(); //调用
$.sayHello('Wayou'); //带参调用

//项目中扩展插件实例
$.fn.extend({
    wrapForm: function () {
            var currentObj = $(this);
            if (currentObj.is("form")) {//this是表单id或class
                return currentObj;
            } else {//针对表单没有被包裹form标签,此时this是包裹的div的id或class
                return currentObj.parent().is("form") ? currentObj.parent() : currentObj.wrap("<form></form>").parent();
            }
        },
        serializeForm: function () {//序列化表单成json对象
            return $(this).wrapForm().serializeJSON();
        },
})
在jsp页面中调用,
 /* 打开窗口 */
        function openDialog(options) {
            var defaultOptions = {
                title: "",
                url: "",
                callBack: function () {
                }
            };
            options = $.extend(defaultOptions, options);
            layer.open({
                title: options.title,
                fixed: false,
                type: 2,
                content: options.url,
                area: ['800px', '600px'],
                end: options.callBack
            });
        }

这里要说的,在插件中的方法命名sayHello: function(name) ,调用该方法需要$.方法名
js中的函数声明方式:
(1)function 函数名(参数1,参数2,...){  
    //要执行的语句  
}
(2)
var 函数名 = function(参数1,参数2,...){  
                //要执行的语句  
            };
(3)
var 变量名 = new Function("参数1","参数2",...,"参数n","函数体");  
普通方法在jsp中的调用
<li><a onclick="方法名();" style="cursor:pointer;"><i class="icon-user"></i>

$(function(){}):$(document).ready(function(){})可以简写成$(function(){});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值