jQuery的$.extend 浅拷贝与深拷贝
jQuery的$.extend 浅拷贝与深拷贝
$.extend( [deep ], target, object1 [, objectN ] ); deep 类型: Boolean 如果是true,合并成为递归(又叫做深拷贝)。 target 类型: Object 对象扩展。这将接收新的属性。 object1 类型: Object 一个对象,它包含额外的属性合并到第一个参数。 objectN 类型: Object 包含额外的属性合并到第一个参数。
$.extend浅拷贝:
var obj1 = {name:xx,age:18,sex:man}; var obj2 = {name:cc,age:18}; $.extend(obj1,obj2); obj1----->{name:cc,age:18} //被obj2覆盖
$.extend深拷贝:
var obj1 = {name:xx,age:18,sex:man}; var obj2 = {name:cc,age:18}; $.extend(true,obj1,obj2); obj1----->{name:cc,age:18,sex:man}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
Jquery实现$.fn.extend和$.extend函数
前面我们扩展了bind方法和ready函数,这次我要讲一下$.fn.extend 和$.extend函数. 其他的不多说,直接切入主题吧! 先来看看这两个函数的区别: $.fn.extend是为查询的节点对象扩展方法,是基于$的原型扩展的方法 $.extend是扩展常规方法,是$的静态方法. 我们之前写的代码看一下: (function (win) { var _$ = function (selector, context) { return new _$.prototype.Init(sel
-
jQuery中$.extend()用法实例
本文实例讲述了jQuery中$.extend()用法.分享给大家供大家参考.具体分析如下: $.extend()方法定义如下: jQuery.extend([deep], target, object1, [objectN]) 用一个或多个其他对象来扩展一个对象,返回被扩展的对象. 如果不指定target,则给jQuery命名空间本身进行扩展.这有助于插件作者为jQuery增加新方法. 如果第一个参数设置为true,则jQuery返回一个深层次的副本,递归地复制找到的任何对象.否则的话,副本会与
-
jQuery $.extend()用法总结
jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法. jQuery.fn.extend(object);给jQuery对象添加方法.这个应该很好理解吧.举个例子. 复制代码 代码如下: <span style="font-size:18px;"><html> <head>
-
浅谈jQuery中的$.extend方法来扩展JSON对象
$.extend方法可以扩展JSON对象,用一个或多个其他对象来扩展一个对象,返回被扩展的对象. 例一 合并 settings 和 options,修改并返回 settings var settings = { validate: false, limit: 5, name: "foo" }; var options = { validate: true, name: "bar" }; jQuery.extend(settings, options); 结果 set
-
jQuery的$.extend 浅拷贝与深拷贝
jQuery的$.extend 浅拷贝与深拷贝 $.extend( [deep ], target, object1 [, objectN ] ): deep 类型: Boolean 如果是true,合并成为递归(又叫做深拷贝). target 类型: Object 对象扩展.这将接收新的属性. object1 类型: Object 一个对象,它包含额外的属性合并到第一个参数. objectN 类型: Object 包含额外的属性合并到第一个参数. $.extend浅拷贝: var obj1 =
-
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
本文实例讲述了jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法.分享给大家供大家参考,具体如下: 语法:jQuery.extend( [deep ], target, object1 [, objectN ] ) 深浅拷贝对应的参数就是[deep],是可选的,为true或false.默认情况是false(浅拷贝),并且false是不能够显示的写出来的.如果想写,只能写true(深拷贝) 测试例子: var object1 = {}; var o
-
javascript对浅拷贝和深拷贝的详解
下面小编就为大家带来一篇浅谈JavaScript中面向对象的的深拷贝和浅拷贝.小编觉得挺不错的,现在就分享给大家,也给大家做个参考. 1.浅拷贝:复制一份引用,所有引用对象都指向一份数据,并且都可以修改这份数据. 2.深拷贝(复杂):复制变量值,对于非基本类型的变量,则递归至基本类型变量后,再复制. 这里画一个简单的图来加深理解: 一.数组的深浅拷贝 在使用JavaScript对数组进行操作的时候,我们经常需要将数组进行备份,事实证明如果只是简单的将它赋予其他变量,那么我们只要更改其中的任何一个
-
js对象浅拷贝和深拷贝详解
本文为大家分享了JavaScript对象的浅拷贝和深拷贝代码,供大家参考,具体内容如下 1.浅拷贝 拷贝就是把父对像的属性,全部拷贝给子对象. 下面这个函数,就是在做拷贝: var Chinese = { nation:'中国' } var Doctor = { career:'医生' } function extendCopy(p) { var c = {}; for (var i in p) { c[i] = p[i]; } c.uber = p; return c; } 使用的时候,这样写
-
浅析javaScript中的浅拷贝和深拷贝
1.javaScript的变量类型 (1)基本类型: 5种基本数据类型Undefined.Null.Boolean.Number 和 String,变量是直接按值存放的,存放在栈内存中的简单数据段,可以直接访问. (2)引用类型: 存放在堆内存中的对象,变量保存的是一个指针,这个指针指向另一个位置.当需要访问引用类型(如对象,数组等)的值时,首先从栈中获得该对象的地址指针,然后再从堆内存中取得所需的数据. JavaScript存储对象都是存地址的,所以浅拷贝会导致 obj1 和obj2 指向同一
-
jQuery的extend方法【三种】
jq中的extend在面试中经常会被问道,今天我总结一个下有关于extend的用法三种进行对比,可能不全,希望大家指点, 用法一: $.extend({}) ,为jQuery类添加方法,可以理解为扩展静态方法 用法二:$.fn.extend({}) 插件,对jQuery.prototype进行扩展,提到插件那么就得说一下另一种方法$.fn.method = function(){} 1. $.fn.method = function(){} 可以定义一个方法 2 . $
-
JS浅拷贝和深拷贝原理与实现方法分析
本文实例讲述了JS浅拷贝和深拷贝原理与实现方法.分享给大家供大家参考,具体如下: 浅拷贝只会拷贝一层,深层的引用类型改变还是会受到影响. 深拷贝是所有内部的属性还有值都被拷贝了一份,不管深层的引用类型怎么改都不会受到影响. 浅拷贝的实现方式 1.自定义函数 function shallowClone (initalObj) { var obj = {}; for ( var i in initalObj) { obj[i] = initalObj[i]; } return obj; } 2.ES
-
JavaScript对象的浅拷贝与深拷贝实例分析
本文实例讲述了JavaScript对象的浅拷贝和深拷贝.分享给大家供大家参考,具体如下: 1.浅拷贝 仅仅复制对象的引用,而不是对象本身. var person = { name: 'Alice', friends: ['Bruce', 'Cindy'] } var student = { id: 30 } student = simpleClone(person, student); student.friends.push('David'); alert(person.friends); f
-
jQuery中extend函数的实现原理详解
extend()是jQuery中一个重要的函数,作用是实现对对象的扩展, 它经常用于jQuery插件的开发,jQuery内部也使用它来扩展属性方法,如上篇文章中讲到的noConflict方法,就是用extend方法来扩展的. 在jQuery的API手册中,我们看到,extend实际上是挂载在jQuery和jQuery.fn上的两个不同方法,尽管在jQuery内部jQuery.extend()和jQuery.fn.extend()是用相同的代码实现的,但是它们的功能却不太一样.来看一下官方API对
-
jQuery中extend函数详解
在jQuery的API手册中,我们看到,extend实际上是挂载在jQuery和jQuery.fn上的两个不同方法,尽管在jQuery内部jQuery.extend()和jQuery.fn.extend()是用相同的代码实现的,但是它们的功能却不太一样.来看一下 官方API对extend 的解释: 代码如下: 复制代码 代码如下: jQuery.extend(): Merge the contents of two or more objects together into the first
随机推荐
- Easy UI动态树点击文字实现展开关闭功能
- Redis中散列类型的常用命令小结
- Struts2的输入校验实例代码
- 关于多对多关系表无法更新与插入的问题
- JavaScript 嵌套函数指向this对象错误的解决方法
- JS实现动态给标签控件添加事件的方法示例
- php中__toString()方法用法示例
- PHP中比较两个字符串找出第一个不同字符位置例子
- 【已解决】标签页刷新问题
- javascript中日期函数new Date()的浏览器兼容性问题
- 微信小程序 页面传值详解
- jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
- jQuery uploadify在谷歌和火狐浏览器上传失败的解决方案
- jquery 跳到顶部和底部动画2句代码简单实现
- Android ViewPager实现Banner循环播放
- eslint 的三大通用规则详解
- Python简易版停车管理系统
- 初识Spark入门
- Java擦除和转换实例分析
- 基于vue循环列表时点击跳转页面的方法