<!DOCTYPE html>
<html>
<head>
<meta http-equiv="CONTENT-TYPE" content="text/html;charset=utf-8">
<meta name="viewport" content="user-scalable=no,initial-scale=1.0,maximum-scale=1.0" />
<meta name="apple-touch-fullscreen" content="yes">
<meta name="format-detection" content="telephone=no">
<title>$.extend测试</title>
<script src="../config/js/jquery.js"></script>
<script>
$(function(){
//===========================================1
//$.extend(dist,src1,src2,...) dist继承src1,src2...
var tt =$.extend({},{a:"a",b:"b"},{c:"c"}); //tt = {a:"a",b:"b",c:"c"}
console.log(tt);
//相同属性名相同的 属性值会被覆盖
var result=$.extend({},{name:"Tom",age:21},{name:"Jerry",sex:"Boy"});
console.log(result);
//当只有一个参数,jquery的全局对象中去,jquery 函数继承该 参数的属性 (这也是jquery函数插件的写法)
var tt3 = $.extend({
hello:function(){alert('hello');}
});
console.log(tt3);//返回jquery对象 jquery直接继承这个属性,这也是插件的写法
//===========================================2
// $.fn.extend(src)
//该方法将src合并到jquery的实例对象中去(实例对象而不是全局对象 $.extend()测试全局对象,实际上$.fn=$.prototype),如:
$.fn.extend({
hello:function(){alert('hello');}
});
var tt4 =new $();
tt4.hello(); //弹出hello
//=======================================3 Jquery的extend方法还有一个重载原型
/*
extend(boolean,dest,src1,src2,src3...)
参数: boolean 第一个参数 ,true
*/
//=====深copy
var result3=$.extend( true, {},
{ name: "John", location: {city: "Boston",county:"USA"} },
{ last: "Resig", location: {state: "MA",county:"China"} } );
console.log(result3);
//我们可以看出src1中嵌套子对象location:{city:"Boston"},src2中也嵌套子对象location:{state:"MA"},第一个深度拷贝参数为true,那么合并后的结果就是:
/*
result4={name:"John",last:"Resig",
location:{city:"Boston",state:"MA",county:"China"}}
*/
//也就是说它会将src中的嵌套子对象也进行合并,而如果第一个参数boolean为false,我们看看合并的结果是什么,如下:
//浅copy 对象的子对象 直接覆盖进行处理
var result4=$.extend( false, {},
{ name: "John", location:{city: "Boston",county:"USA"} },
{ last: "Resig", location: {state: "MA",county:"China"} }
);
console.log(result4);
//那么合并后的结果就是:result={name:"John",last:"Resig",location:{state:"MA",county:"China"}}
});
</script>
</head>
<body>
</body>
</html>
$.extend , $.fn.extend 以及jquery的插件,继承
最新推荐文章于 2023-09-23 17:50:36 发布