/**
 * Created by peng on 2016/12/8.
 */
jQuery.extend({

min: function(a, b) { return a < b ? a : b; },

max: function(a, b) { return a > b ? a : b; }

});

var settings = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
jQuery.extend(settings, options,function(){
    //return settings;
});
jQuery.extend({
    foo: function() {
        alert('类级别使用extend');
    },
    bar: function(param) {
        alert('类级别使用extend');
    }
});

jQuery.foo = {
    ajax:function() {
        alert('类级别使用命名空间');
    },
    bar:function(param) {
        alert('类级别使用命名空间'+param);
    }
};

$.fn.extend({
    foo:function(){
        alert('对象级别使用extend');
    },
    bar:function(){
        alert('对象级别使用extend');
    }
})

$.fn.foo = {
    fun1:function(){
        alert('对象级别使用命名空间');
    },
    fun2:function(){
        alert('对象级别使用命名空间');
    }
};

jQuery.fn.name1 = {
    fun:function() {
        alert('name1的fun');
    },
    bar:function(param) {
        alert('类级别使用命名空间'+param);
    }
};

jQuery.fn.extend({
    fun:function() {
        alert('name2的fun');
    },
    bar:function(param) {
        alert('类级别使用命名空间'+param);
    }
})

var n={};
n.f={};
n.f.a={};
n.f.a.b={};
n.f.a.b.foo = function(s){alert("哈哈 多么奇妙"+s);}

// plugin definition 定义插件

$.fn.hilight = function(options) { var defaults = { foreground: 'red', background: 'yellow' };

var opts = $.extend(defaults, options);
    return opts;
};

(function ($) {
    //step03-a 插件的默认值属性
    var defaults = {
        prevId: 'prevBtn',
        prevText: 'Previous',
        nextId: 'nextBtn',
        nextText: 'Next'
        //……
    };
    //step02 插件的扩展方法名称
    $.fn.easySlider = function (options) {
        //step03-b 合并用户自定义属性,默认属性
        var options = $.extend(defaults, options);

return  defaults;
    }
})(jQuery);

以下是测试所用页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/jquery.js"></script>
    <script src="js/chajian1.js"></script>
</head>
<body>
<div id="content">

</div>
<div id="myDiv" style="height:20px;width:30px;border:1px solid ">

</div>
<script type="text/javascript">
    //jQuery.min(2,3); //  2
    //jQuery.max(4,5); //  5
    //console.log(jQuery.min(2,3));
   // console.log(jQuery.max(4,5));
    //$("#content").html(jQuery.min(2,3)+jQuery.max(4,5));
   // console.log(settings);
   //$.foo.bar();
   // jQuery.myPlugin.bar("1");
    //$.foo("ff");
  // n.f.a.b.foo("zhazha ");
    //$("div").fun();

// $.name1.fun();
   // $.name2.fun();
   // $("#content").name1.fun();
   // $("#content").name2.fun();
    //$('#myDiv').hilight({foreground: 'blue' });
    //console.log($('#myDiv').hilight({foreground: 'blue' }));
   // var obj01 = { name: "英文名:Sam Xiao", age: 29, girlfriend: { name: "Yang", age: 29} }
  //  var obj02 = { name: "中文名:XiaoJian", girlfriend: { name: "YY"} };

// var a = $.extend(obj01, obj02);
   // var b = $.extend(true, obj01, obj02);
   // var c = $.extend({}, obj01, obj02);
  //  var d = $.extend(true,{}, obj01, obj02);

// console.log(a);
   // console.log(b);
   // console.log(c);
   // console.log(d);
    console.log($("<div id='notheone'/>").easySlider( {prevId: 'aa',prevText:'bb'}));
</script>
</body>
</html>

jquery插件的几种写法的更多相关文章

  1. 第7章 jQuery插件的使用和写法

    第7章 jQuery插件的使用和写法 插件又称扩展,是一种遵循一定规范的应用程序接口写出来的程序. 插件的编写思想基于面向对象. 获取最新的插件可以查看jquery官网:http://plugins. ...

  2. jquery插件的两种形式

    这里总结一下jquery插件的两种形式,一种是通过字面量的形式组织代码,另一种是通过构造函数的方式.下面就两种形式来分析俩个例子. 例子1: ;(function ($,window,document ...

  3. 【jQuery】学习jQuery插件的使用与写法(表单验证插件-validation)

    最新最全的插件可以从jQuery官方网站的插件板块下载,网站地址为:http://plugins.jquery.com/ Validation优点:内置验证规则:自定义验证规则:简单强大的验证信息提示 ...

  4. jQuery插件的使用和写法

    插件(plugin)也称为扩展(Extension),是一种遵循一定规范的应用程序接口编写出来的程序. jQuery的易扩展性,吸引了来自全球的开发者来共同编写jQuery的插件. jQuery表单验 ...

  5. jQuery插件的2种类型

    1.封装方法插件  封装方法插件在本质上来说,是一个对象级别的插件,这类插件首先通过jQuery选择器获取对象,并为对象添加方法,然后,将方法进行打包,封闭成一个插件,这种类型的插件编写简单,极易调用 ...

  6. jquery插件的2种扩展开发(jQuery.extend和jQuery.fn.extend的区别)

    1.类级别 jQuery.extend(object) 类级别你可以理解为拓展jquery类,最明显的例子是$.ajax(...),相当于静态方法. 开发扩展其方法时使用$.extend方法,即jQu ...

  7. (翻译)编写属于你的jQuery插件

    Writing Your Own jQuery Plugins 原文地址:http://blog.teamtreehouse.com/writing-your-own-jquery-plugins j ...

  8. 自己动手Jquery插件

    最近Web应用程序中越来越多地用到了JQuery等Web前端技术.这些技术框架有效地改善了用户的操作体验,同时也提高了开发人员构造丰富客户 端UI的效率.JQuery本身提供了丰富的操作,但是,有时候 ...

  9. 用实例一步步教你写Jquery插件

    最近Web应用程序中越来越多地用到 了JQuery等Web前端技术.这些技术框架有效地改善了用户的操作体验,同时也提高了开发人员构造丰富客户 端UI的效率.JQuery本身提供了丰富的操作,但是,有时 ...

随机推荐

  1. SSAS aggregation 的作用及其使用

    作用: 聚合是为了解决查询在运行时的效率低下,在数据立方体部署的时候进行聚合,实际上是对数据立方体的预处理,方便以后查询.如若在部署时未进行聚合,则在以后每次查询时实际上都会进行一次集合的操作,等待结 ...

  2. zabbix3.4web界面添加第一台被监控服务器图文教程

    zabbix工具监控服务器是以组的形式来管理,创建单个被监控服务器之前需要先创建一个主机组,然后将被监控机添加到这个组中即可 1 创建主机群组: 2 向主机群组中添加主机 3 向主机中添加模板,选择要 ...

  3. pythoy-生成器

    生成器:只有在调用的时候才会生成相应的数据(调用到这个数据的时候才会生成这个数据,没有调用到时就没有这个数据)只记录数据的当前位置 生成器不能像普通的列表一样,通过下标或者切片的方式去取生成器只能通过 ...

  4. 【spring源码分析】spring和@PostConstruct注解

    @PostConstruct注解好多人以为是Spring提供的.其实是Java自己的注解. Java中该注解的说明:@PostConstruct该注解被用来修饰一个非静态的void()方法.被@Pos ...

  5. linux之数据备份

    第一种方法:tar备份 [root@bogon ~]# cat bp/linux.txt no centos [root@bogon ~]# tar cvf bp.tar bp //打包bp目录 bp ...

  6. Cassandra -- Cassandra 3.0版本安装

    ============================================================ 服务器信息 搭建三节点的Cassandra群集: SERVER1: 192.1 ...

  7. 自制操作系统Antz -- 系列文章

    自制操作系统Antz day10——实现shell(上) AntzUhl 2018-10-10 16:25 阅读:192 评论:0   Linux内核源码分析 day01——内存寻址 AntzUhl ...

  8. ADB连接手机的两种方式(usb数据线连接和wifi连接)

    ADB(Android Debug Bridge)安卓测试桥,它是连接电脑开发端和安卓设备的桥梁,这个安卓设备可以是真实的安卓手机或者平板,也可以是虚拟的安卓模拟器,   这里介绍ADB连接手机的两种 ...

  9. vscode vue eslint 快捷键格式化代码

    添加vetur , eslint插件   在工作区添加以下代码   "workbench.startupEditor": "welcomePage", &quo ...

  10. $("#form1"). serialize()提交表单

    一.jQuery ajax()使用serialize()提交form数据 jQuery的serialize()方法通过序列化表单值,创建URL编码文本字符串,我们就可以选择一个或多个表单元素,也可以直 ...