Difference between $.extend and $.fn.extend
来源:互联网 发布:easymule mac 编辑:程序博客网 时间:2024/05/21 05:41
1. jQuery.extend(object);
它是为jQuery类添加类方法,可以理解为添加静态方法。如:
jQuery.extend({ min: function(a, b) { return a < b ? a : b; }, max: function(a, b) { return a > b ? a : b; }});jQuery.min(2,3); // 2 jQuery.max(4,5); // 5
2. jQuery.extend(target, object1, [objectN])
用一个或多个其他对象来扩展一个对象,返回被扩展的对象。
var settings = { validate: false, limit: 5, name: "foo" }; var options = { validate: true, name: "bar" }; jQuery.extend(settings, options);
结果:settings == { validate: true, limit: 5, name: “bar” }
3. jQuery.fn.extend(object);
$.fn是什么?
$.fn是指jQuery的命名空间,fn上的成员(方法function及属性property),会对jQuery实例每一个有效。
查看jQuery代码,就不难发现。
jQuery.fn = jQuery.prototype = { init: function( selector, context ) {//.... };
原来 jQuery.fn = jQuery.prototype.
所以,它是对jQuery.prototype进得扩展,就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。
比如我们要开发一个插件,做一个特殊的编辑框,当它被点击时,便alert 当前编辑框里的内容。可以这么做:
$.fn.extend({ doAlertWhileClick:function() { $(this).click(function(){ alert($(this).val()); }); } }); $("#input1").doAlertWhileClick();
$(“#input1”)为一个jQuery实例,当它调用成员方法 doAlertWhileClick后,便实现了扩展,每次被点击时它会先弹出目前编辑里的内容。
0 0
- Difference between $.extend and $.fn.extend
- $.extend() and $.fn.extend()
- $.fn,$.extend(),$.fn.extend(),$.extend($.fn,{})
- $.fn.extend();与$.extend();
- $.extend() 与 $.fn.extend()
- $.extend,$.fn.extend
- $.fn.extend 与$.extend
- $.fn.extend 与$.extend
- $.fn.extend()和$.extend()
- $.fn.extend(); 和 $.extend();
- $.extend和$.fn.extend
- $.extend $.fn.extend
- $.fn.extend()和$.extend()
- $.extend,$.fn.extend详解
- $.extend $.fn.extend
- $.extend()和$.fn.extend()
- $.fn.extend
- $.extend和$.fn.extend 区别
- iOS 上传文件
- C++中this->的作用
- HttpServletRequest对象的详解
- 关于消息队列的使用----ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ
- c++第五次实验
- Difference between $.extend and $.fn.extend
- Plug-in 对话框
- 类加载的过程(详细)
- 单例模式 (两种)及多线程下的优化
- JSON介绍及Android最全面解析方法(Gson、AS自带org.son、Jackson解析)
- 一句话讲明白 pthread_key_t和pthread_key_create()
- 手把手教你如何加入到github的开源世界!
- C++——必须使用复制构造函数的情况
- iOS: 富文本AttributedString的详解