跳转到主内容
极星编程网:以代码为星,赴技术山海!

jquery.extend 与 jquery.fn.extend的区别和使用

$.extend()方法在 jquery 中有两个用法,第一种是扩展方法,第二种是 用jquery实现的继承方式 1> 扩展方法 jquery.extend 对jquery对象的扩展,可以理解为 静态 方法,是全局的,不需要实例jquery就可以使用。 JAVASCRIPT :
jQuery.extend({
min: function(a, b) { return a < b ? a : b; },
max: function(a, b) { return a > b ? a : b; }
});
2> jQuery实现的继承方式 jQuery.extend( [deep] , target, object 1, [objectN] ) 返回值:Object 把2个对象合并得到新的target,deep是可选的( 递归 合并) 合并 settings 和 options,修改并返回 settings。 jQuery 代码:
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" }
描述: 合并 defaults 和 options, 不修改 defaults。 jQuery 代码:
var empty = {}; var defaults = { validate: false, limit: 5, name: "foo" }; var options = { validate: true, name: "bar" }; var settings = jQuery.extend(empty, defaults, options);
结果:
settings == { validate: true, limit: 5, name: "bar" }
empty == { validate: true, limit: 5, name: "bar" }

jQuery.fn.extend
对jQuery元素的扩展,只能用在jQuery元素上,可以理解为普通方法。定义插件时需要返回this,以支持jQuery的链式操作。
JAVASCRIPT:

相关文章