jquery $.extend()例子总结

概述

用以扩展jQuery对象

参数

object

例子

合并两个对象,并修改第一个对象。

<!Doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery.extend demo</title>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<div id="log"></div>
 
<script>
var object1 = {
  apple: 0,
  banana: { weight: 52, price: 100 },
  cherry: 97
};
var object2 = {
  banana: { price: 200 },
  durian: 100
};
 
// 合并 object2 到 object1
$.extend( object1, object2 );
 
// 转换成json字符串
$( "#log" ).append( JSON.stringify( object1 ) );      //{"apple":0,"banana":{"price":200},"cherry":97,"durian":100}
</script>
 
</body>
</html>

采用递归方式合并两个对象,并修改第一个对象。

<!Doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery.extend demo</title>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<div id="log"></div>
 
<script>
var object1 = {
  apple: 0,
  banana: { weight: 52, price: 100 },
  cherry: 97
};
var object2 = {
  banana: { price: 200 },
  durian: 100
};
 
// Merge object2 into object1, recursively
$.extend( true, object1, object2 );
 
// Assuming JSON.stringify - not available in IE<8
$( "#log" ).append( JSON.stringify( object1 ) );    //{"apple":0,"banana":{"weight":52,"price":200},"cherry":97,"durian":100}
</script>
 
</body>
</html>

合并 defaults 和 options 对象,并且不修改 defaults 对象。这是常用的插件开发模式。

<!Doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery.extend demo</title>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<div id="log"></div>
 
<script>
var defaults = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
 
// Merge defaults and options, without modifying defaults
var settings = $.extend( {}, defaults, options );
 
// Assuming JSON.stringify - not available in IE<8
$( "#log" ).append( "<div><b>defaults -- </b>" + JSON.stringify( defaults ) + "</div>" );
$( "#log" ).append( "<div><b>options -- </b>" + JSON.stringify( options ) + "</div>" );
$( "#log" ).append( "<div><b>settings -- </b>" + JSON.stringify( settings ) + "</div>" );
/*
 * defaults -- {"validate":false,"limit":5,"name":"foo"}
 * options -- {"validate":true,"name":"bar"}
 * settings -- {"validate":true,"limit":5,"name":"bar"}
 */
</script>
 
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • 不管你是前端程序员,还是后端程序员,无人不知JQuery,无人不晓JQuery。她的好处想必大家都知道,很多人喜欢...
    滇藏1987阅读 1,236评论 0 9
  • 第1章 jQuery实现Ajax应用 1-1 使用load()方法异步请求数据 使用load()方法通过Ajax请...
    mo默22阅读 1,768评论 1 9
  • 晚上说了很多,但好像又什么都没说.思维无限发散到很远,想的很远,看的很远,但还是要回归到现实当中,我们要解决目前的...
    Jason_Xu阅读 202评论 0 1
  • 去年9月份周末的一天,我去附近菜场买菜,来到了一个平时经常光顾海鲜摊,摊主看见我就很热情的招呼我,并向我推荐...
    不苦即乐阅读 379评论 0 0