插件的种类:

1.封装对象方法的插件。

2.封装全局函数的插件。

3.选择器插件。

*所有的对象方法都应当附加到jQuery.fn对象上,而所有的全局函数都应当附加到jQuery对象本身上。

*在插件内部,this指向的是当前通过选择器获取的jQuery对象。

*在插件头部先加上一个分号,以免他人的不规范代码给插件带来影响。

*避免在插件内容使用$作为jQuery对象的别名,而应使用完整的jQuery来表示,这样可以避免冲突。也可以用闭包来回避这个问题。

;(function($){
  //这里放代码
})(jQuery);

*$.fn.extend():接受一个类型为Object对象的参数。Object对象的“名/值对”分别代表“函数或方法名/函数主体”。

*$.extend():也可以用来扩展jQuery对象,但它还可以扩展已有的Object对象。

$.extend(target,obj1,......[objN])
//用一个或多个其他对象来扩展一个对象,然后返回被扩展的对象。 //合并settings对象和options对象
var settings={validate:false,limit:5,name:"foo"};
var options={validate:true,name:"bar"};
var newOptions=$.extend(settings,options); //结果为
newOptions={validate:true,limit:5,name:"bar"};
//$.extend()方法经常被用于设置插件方法的一系列默认参数
function foo(options){
options=$.extend({
name:"bar",
length:5,
dataType:"xml"
},options);
};
//如果用户调用foo()方法的时候,传递的参数options对象中设置了相应的值,那么就使用设置的值,否则使用默认值。
//用实用函数$.extend()将传递到options参数的值与默认值合并
//也可以使用options自身来存储这个值,而不是创建一个新的settings变量。
function complex(p1,options){
var settings=$.extend({
option1:defaultValue1,
option2:defaultValue2,
option3:defaultValue3,
option4:defaultValue4,
option5:defaultValue5
},options||{}); //{}是一个空对象,使用||{}来防止options对象是null或undefined,如果options求值为false(null和undefined)则提供一个空对象。
}

jQuery插件编写笔记的更多相关文章

  1. jQuery插件编写,

    jQuery插件编写 jQuery插件 最近搞jquery插件的编写这里做下笔记 给jquery扩展的方式很多,看的我眼花缭乱 方式1 $.fun=function(){} 方式2 $.fn.fun= ...

  2. jQuery插件编写及链式编程模型小结

    JQuery极大的提高了我们编写JavaScript的效率,让我们可以愉快的编写代码,做出各种特效.大多数情况下,我们都是使用别人开发的JQuery插件,今天我们就来看看如何把我们常用的功能做出JQu ...

  3. jQuery插件编写及链式编程模型

    jQuery插件编写及链式编程模型小结 JQuery极大的提高了我们编写JavaScript的效率,让我们可以愉快的编写代码,做出各种特效.大多数情况下,我们都是使用别人开发的JQuery插件,今天我 ...

  4. 锋利的jQuery--编写jQuery插件(读书笔记五)[完结篇]

    1.表单验证插件Validation   2.表单插件Form   3.动态事件绑定插件livequery 可以为后来的元素绑定事件   类似于jQuery中的live()方法     4.jQuer ...

  5. (转)jQuery插件编写学习+实例——无限滚动

    原文地址:http://www.cnblogs.com/nuller/p/3411627.html 最近自己在搞一个网站,需要用到无限滚动分页,想想工作两年有余了,竟然都没有写过插件,实在惭愧,于是简 ...

  6. jQuery插件学习笔记

    近期在研究jQuery插件,插件编写的目的是给已经有的一系列方法或函数做一个封装,以便在其它地方反复使用,方便后期维护. JQuery除了提供一个简单.有效的方式进行管理元素以及脚本,它还还提供了例外 ...

  7. jQuery插件编写学习+实例——无限滚动

    最近自己在搞一个网站,需要用到无限滚动分页,想想工作两年有余了,竟然都没有写过插件,实在惭愧,于是简单学习了下jQuery的插件编写,然后分享出来. 先说下基础知识,基本上分为两种,一种是对象级别的插 ...

  8. jQuery插件编写步骤详解

    如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论下jq ...

  9. jquery插件编写【转载】

    如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论下jq ...

随机推荐

  1. c++ 打印堆栈代码

    namespace google {namespace glog_internal_namespace_ {void DumpStackTraceToString(std::string* stack ...

  2. mongodb 的备份恢复导入与导出

    导入导出 use hndb; db.s.save({name:'李四',age:18,score:80,address:'郑州'}); db.s.save({name:'李三',age:8,score ...

  3. SELinux查看、启用、关闭

    SELinux查看.启用.关闭 查看SELinux状态: 1./usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态 SELinux ...

  4. mysql命令行导入sql脚本中文变问号问题

    之前一直用工具连接mysql虽然小问题不断也都无伤大雅,最近做金融云项目,只能通过服务器的内网访问数据库,也就是说只能在linux下通过命令行访问,在导入中文的时候发现都变成问号了,经过查询资料解决, ...

  5. 一、prolog简介

    一般来说,人工智能语言应具备如下特点: 1.具有符号处理能力(即非数值处理能力): 2.适合于结构化程序设计,编程容易: 3. 具有递归功能和回溯功能: 4. 具有人机交互能力: 5. 适合于推理: ...

  6. 带名称空间的xml数据查询

    <gpx xmlns="http://www.topografix.com/GPX/1/1" creator="MapSource 6.5" versio ...

  7. Git的基础

    http://backlogtool.com/git-guide/cn/intro/intro2_3.html

  8. 照片灰蒙蒙?用PS的曲线功能来解决 (转)

    原文地址:http://realjasonc.blog.163.com/blog/static/16475932520107594048957/ 上次,给大家看了几张较为典型的直方图.其实直方图的状态 ...

  9. windbg学习---.browse打开一个新的command 窗口

    .browse r eax .browse <command>将会显示新的命令浏览窗口和运行给出的命令

  10. js 赋值 要用 toString() ; 太坑了。

    js 赋值 要用 toString() ;     太坑了. js 赋值 要用 toString() ;     太坑了. js 赋值 要用 toString() ;     太坑了.