$.extend和$.fn.extend详解
一、定义
$.extend()属于j全局的Query对象,用于将一个或多个对象合并到目标对象上;
$.fn.extend()属于jQuery的原型对象,用于在jQuery原型上扩展实例属性和方法。
二、语法
jQuery.extend( [ deep ], target , object1 [, objectN... ] );
jQuery.fn.extend( object )
三、示例
3.1 $.extend
var x = { name:"Jack" }; var y = { age: 18 }; var z = { site: "www.baidu.com" }; // y和z的属性将被合并复制到对象x上 var obj = $.extend( x, y, z ); w( obj === x ); // true w( obj.name ); // Jack w( obj.age ); // 18 w( obj.site ); // www.baidu.com
如果只为该函数指定一个参数,则表示省略target,target默认为jQuery对象。
var x = { sayHi: function(){ alert("这是新增的测试方法"); } }; // 只有一个参数,则表示省略target参数,target参数默认为jQuery对象本身$.extend( x ); $.sayHi(); // 这是新增的测试方法
3.2 $.fn.extend
var obj = { consoleName(name) { console.log(name) }, objName: 'rose', } $.fn.extend(obj); $(selector).consoleObjName($(this).objName); //rose