jQuery插件编写

news/2024/7/10 23:03:14 标签: JavaScript, jQuery, jQuery插件, 函数, 扩展
/*
Hello everybody,让我们来写个jQuery插件,不要一直用jquery,却连插件都不会写。
哈哈哈,开玩笑啦。
当你看到这篇日志,可以肯定的是,你是jQuery的粉丝哦。
话说js是很随意的语言,很随便,想怎么写就怎么写。
且看这段代码
*/
var jQuery = new Object();//或者var jQuery = {};
jQuery.method = function(args){
alert("hello," + args);
}
jQuery.method("Henry");
/*
嘿嘿,太明显了,你会看到"hello,Henry"的弹出信息的。是不是这段代码巨简单。
当然,你自然而然会想到用这种方法。如下:
*/
<script language="javascript" src="jquery.js"></script>
<script language="javascript">
jQuery.method = function(){
alert("hello,this is my defined method");
}
jQuery.method();
</script>
/*
确实效果如你所愿了。但是不是最好的。因为,一个好的框架一定留给你好的接口了。
最好是使用它的。应该如下:
*/
jQuery.extend({
method: function(){
alert("hello,this is my defined method");
}
});
jQuery.method();
/*
不错吧,效果还是一样的。不过这样是最好的,为什么呢?因为,当你的函数需要
增加参数的时候,如果别人不添加参数,你就需要用默认的参数。这时,你的设计
好处就来了,see it ^.^:
*/


jQuery.extend({
method: function(options){
var defaults = {
name : "Henry",
sex  : "male"
};
jQuery.extend(defaults,options);//如此一来,你的所有参数都进来了哦。
alert("hello," + defaults.name + ",you are " + defaults.sex);
}
});
jQuery.method();
jQuery.method({
name : "yourname",
sex  : "sex"
});
//无论如何,你都可以调用我写的插件哦。呵呵呵
/*
还有还有哈,需要提醒你的是,如果你看了我写的解析jquery源码或者自己分析过jQuery源码
你将会有不同的感受。上面是静态方法的扩展,也就是你无须选择任何一个元素,直接通过
jQuery类来使用方法。下面介绍一个元素的操作方法。你只需把jQuery.extend()改成
jQuery.fn.extend();就可以了。
*/
jQuery.fn.extend({
method: function(options){
var defaults = {
name : "Henry",
sex  : "male"
};
jQuery.extend(defaults,options);//如此一来,你的所有参数都进来了哦。
alert("hello," + defaults.name + ",you are " + defaults.sex);
return $(this);//不要忘记返回自己,实现链接调用。
}
});


//------------------------------------------JavaScript群:55732875

http://www.niftyadmin.cn/n/951154.html

相关文章

生活琐事(一)丢魂了

今天晚上&#xff0c;不知道怎么了&#xff0c;可能是丢魂了吧。买饼的时候&#xff0c;给了100块&#xff0c;买块钱的饼&#xff0c;拿了饼就走了。然后去吃炒粉的时候&#xff0c;才发现没要找的钱。吃完炒粉后&#xff0c;赶紧跑回去要&#xff0c;卖饼给我的那个MM不在&am…

JavaScript面向切面编程

很多人都知道java&#xff0c;spring里面有一个aop的切面编程&#xff0c;它利用了反射机制实现了。今天我们用js来实现一个模仿的&#xff0c;只是简单的实现&#xff0c;你可以自行再添加自己的条件和完善&#xff1a; function aop(obj,before,after,filter){ for (var fun…

postgresql的安装

最近给某电信公司做了个项目&#xff0c;把原oracle库迁移到EnterpriseDB之PPAS上&#xff0c;拿回oracle的dump文件忙乎了一圈&#xff0c;想把安装迁移过程写一下&#xff0c;就从网上把postgresql的各种安装过程搬过来&#xff0c;凑个系列。安装PostgreSQL数据库不一定需要…

腾讯的JS前端面试题

无意中看到这个题目&#xff0c;看完所有解答后&#xff0c;觉得还是不好&#xff0c;所以就写了一下。问题来自&#xff1a;http://www.codefans.net/jscss/code/3460.shtml题目的意思就是&#xff1a;有一组数字&#xff0c;从1到n&#xff0c;从中减少了3个数&#xff0c;顺…

VS2008编译项目遇到的问题以及解决方法

1.error : _WIN32_WINNT settings conflicts with _WIN32_IE setting 解决&#xff1a; 项目属性 -> c/c ->预处理器 -> 预处理器定义&#xff0c;里面有一个_WIN32_WINNT0x400&#xff0c; 改为_WIN32_WINNT0x0500就好了。不用改代码。 2.错误提示信息&#xff1…

java mysql 乱码和启动中断1067问题

今天遇到mysql启动问题&#xff0c;本来是由于java插入数据库乱码问题&#xff0c;修改过程中又遇到启动问题1067状态。索性一次将解决写出来分享&#xff0c;以免后来人走弯路。 我非常郁闷的就是国内这些百度啊&#xff0c;贴吧啊&#xff0c;各种转载&#xff0c;不负责任的…

工作那些事(十九)公司的创业期、发展期和回报期

随着时间的推移和经验的积累&#xff0c;身边很多朋友有了自己的公司&#xff1a;有的处于创业期&#xff0c;有的处于发展期&#xff0c;回报期的目前还没有。 一般来说&#xff0c;一个公司的创业期是公司的前1到3年。在这个时期里&#xff0c;公司的技术团队、销售团队都不是…

apache + php配置问题

PHP 5.3.28 (php-5.3.28-Win32-VC9-x86.zip) 和 Apache 2.2 比较融合。 php5apache2_4.dll不好加载&#xff0c;php5apache2_2.dll比较适合Apache2.2在win7下运行。