jQuery 中的 extend 方法:
var o = {a: [1]}; //浅拷贝 var o1 = $.extend({}, o); console.log(o1.a === o.a); // true //深拷贝 var o2 = $.extend(true, {}, o); console.log(o2.a === o.a); //false
js方法:
方法一
- function clone(obj){
- var o;
- switch(typeof obj){
- case 'undefined': break;
- case 'string' : o = obj + '';break;
- case 'number' : o = obj - 0;break;
- case 'boolean' : o = obj;break;
- case 'object' :
- if(obj === null){
- o = null;
- }else{
- if(obj instanceof Array){
- o = [];
- for(var i = 0, len = obj.length; i < len; i++){
- o.push(clone(obj[i]));
- }
- }else{
- o = {};
- for(var k in obj){
- o[k] = clone(obj[k]);
- }
- }
- }
- break;
- default:
- o = obj;break;
- }
- return o;
- }
方法二
- function clone2(obj){
- var o, obj;
- if (obj.constructor == Object){
- o = new obj.constructor();
- }else{
- o = new obj.constructor(obj.valueOf());
- }
- for(var key in obj){
- if ( o[key] != obj[key] ){
- if ( typeof(obj[key]) == 'object' ){
- o[key] = clone2(obj[key]);
- }else{
- o[key] = obj[key];
- }
- }
- }
- o.toString = obj.toString;
- o.valueOf = obj.valueOf;
- return o;
- }
方法三
- function clone3(obj){
- function Clone(){}
- Clone.prototype = obj;
- var o = new Clone();
- for(var a in o){
- if(typeof o[a] == "object") {
- o[a] = clone3(o[a]);
- }
- }
- return o;
- }
相关推荐
在JavaScript和jQuery的世界里,克隆对象和给元素赋值是常见的操作,特别是在处理动态内容和数据交互时。本文将深入探讨如何使用jQuery实现元素的克隆以及如何为元素赋值,同时也会提及如何结合使用AJAX技术进行克隆...
6. **AJAX(Asynchronous JavaScript and XML)**:jQuery封装了XMLHttpRequest对象,简化了异步数据请求。例如,`$.ajax()`, `$.get()`, `$.post()`等方法用于发送HTTP请求,`$.getJSON()`用于获取JSON格式的数据。...
jQuery是一款广泛应用于Web开发的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画制作以及Ajax交互。在jQuery 1.7版本中,该库进一步优化了性能,增加了新功能,并修复了一些已知问题。本篇文章将...
// jQuery克隆元素 var clonedEl = $('.el').clone(); // 原生JavaScript克隆元素 var clonedEl = document.querySelector('.el').cloneNode(true); ``` 8. 移除元素 jQuery中的`.remove()`方法可以移除元素。原生...
<script type="text/javascript" src="/jquery/jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("p").click(function(){ $(this).hide(); }); }); </script> </head> ...
- **1996年**:微软创建了JScript,这是JavaScript的一个克隆版本,具有一些微小差异。 - **1997年**:ECMA-262成为JavaScript的第一个国际标准。 - **2003年**:James等人基于XMLHttpRequest创建了一个Ajax库。 - *...
在JavaScript和jQuery中,处理JSON对象的复制是一个常见的任务,特别是在数据操作和处理时。这里我们将深入探讨jQuery中两种主要的JSON对象复制方法,以及如何处理数组操作。 首先,我们来看jQuery自带的`$.map`...
jQuery是一款广泛应用于网页开发的JavaScript库,它的出现极大地简化了JavaScript的DOM操作、事件处理、动画设计和Ajax交互。本教程将深入探讨jQuery的基础知识,通过实例解析,帮助你全面掌握jQuery的核心功能。 #...
通过学习这个项目,开发者可以深入理解JavaScript和jQuery中的元素克隆机制,并能将其应用到实际项目中。这有助于提升开发者处理动态内容和构建交互性更强的网页能力。此外,掌握这些技能对于前端开发人员来说是至关...
在实现拖拽效果时,我们需要引入 jQuery UI 的相关库,包括 `jquery.ui.core`, `jquery.ui.widget`, `jquery.ui.mouse`, `jquery.ui.draggable` 和 `jquery.ui.droppable`。 `jquery.ui.draggable` 是实现拖动行为...
对于数组的克隆,在JavaScript中有多种方法可以实现: 1. 利用Array的slice方法 slice是JavaScript数组的一个方法,该方法可以创建一个新数组,这个新数组包含原数组中的某个范围的浅拷贝。slice方法不会改变原数组...
### jQuery.js构造函数详解 #### 一、引言 jQuery 是一款非常流行的 JavaScript 库,它简化了许多在网页上常见的操作,例如 HTML 文档遍历、事件处理、动画以及 Ajax 交互等。jQuery 的核心是一个构造函数,该构造...
在JavaScript中,克隆对象和数组是常见的需求,特别是在处理数据的复制、备份或避免原始数据被意外修改时。以下是一些常用的克隆方法: 1. **Ext的克隆方法**: - `Ext.clone(json)`:这个方法是ExtJS框架提供的,...
2. jQuery 对象和 DOM 对象 3. 基本选择器 4. 层次选择器 5. 基本过滤选择器 6. 内容过滤选择器 7. 可见性过滤选择器 8. 属性过滤选择器 9. 子元素过滤选择器 10. 表单元素过滤选择器 11. 小结1 12. 选择器练习 13....
在开发中,深度克隆对象的原因通常是为了保持原始数据的完整性,避免因修改克隆后的对象而导致原始数据的意外变更。例如,当你想要创建一个用户配置对象的副本,以便在不改变用户原始设置的情况下进行操作,或者在...
jQuery是一个流行的JavaScript库,它极大地简化了网页中的DOM操作、事件处理、动画效果以及Ajax交互。这个离线手册包含了2012年12月15日版本的jQuery 1.8.3,对于那个时期的项目来说,这是一个广泛使用的稳定版本。 ...
在JavaScript中,对象属性复制是常见的操作,尤其是在处理配置对象、合并对象或克隆对象时。本主题将探讨两种方法来实现这一目标:原生JavaScript和jQuery库的`$.extend()`函数。 首先,我们来看原生JavaScript的...
在网页开发中,jQuery是一个非常流行的JavaScript库,它简化了DOM操作、事件处理、动画以及Ajax交互等任务。本篇文章将深入探讨如何使用jQuery来动态地给HTML表格(table)赋值,通过一个具体的实例来展示相关技巧。...
15. **克隆对象**:复制DOM元素。 ```javascript var clone = $("#original").clone(); ``` 16. **使元素居中**:水平和垂直居中元素。 ```javascript $("#centeredElement").css({ position: 'absolute', top:...