- 浏览: 2613087 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1286)
- js-oop (2)
- js-window (10)
- js-event (19)
- js-string (37)
- js-array (27)
- js-page (4)
- js-dom (62)
- js-lang (8)
- js-number (7)
- js-platform (3)
- js-object (15)
- js-element (3)
- js-browser (7)
- js-url (6)
- js-date (10)
- css基础 (48)
- css优化 (15)
- html基础 (17)
- html标签 (19)
- js基础 (117)
- js-兼容性差异 (33)
- js引擎 (3)
- js性能 (14)
- json (6)
- jQuery源码浅析 (43)
- web mobile开发资料 (78)
- js跨域 (2)
- html5 (74)
- html5-canvas (7)
- css3 (53)
- 浏览器 (5)
- api设计学 (3)
- js-加载 (3)
- linux (37)
- 架构师 (1)
- php (2)
- self开发的脚本库--凤凰 (2)
- web应用名词 (6)
- javascript新特性翻译 (8)
- ajax (6)
- jQuery动画效果 (7)
- prototype的解读 (13)
- 优秀插件翻译 (1)
- css解决方案 (26)
- 数据库 (2)
- english daily (59)
- 浏览器内核探究 (1)
- jQuery插件介绍 (9)
- jquery基础篇 (26)
- chrome浏览器问题整理 (14)
- js选择器那些事 (3)
- 前端框架 (26)
- Firefox私有属性 (11)
- webkit私有属性集合 (17)
- 书籍推荐 (21)
- 数据结构 (1)
- 网站建设相关 (7)
- 好文翻译 (2)
- 个人作品 (3)
- kissy的解读 (4)
- css-layout(布局研究) (5)
- less研究 (1)
- YUI探究 (1)
- hash探究 (1)
- js动画 (7)
- 前端面试题 (37)
- css书写规范 (1)
- js模板引擎 (6)
- js模块化 (19)
- 编写高质量代码 (3)
- 性能探究--应用协议 (2)
- 前端图像处理 (19)
- Mac OS相关 (21)
- 正则表达式 (11)
- 离线应用相关 (0)
- 前端工具 (65)
- nodeJS (55)
- jquery优化篇 (2)
- 设计模式探究系列 (3)
- windows7 (2)
- IE10 (10)
- 微博开放平台探究 (2)
- 常用web服务接口 (1)
- 数据存储相关 (8)
- 零时文件 (2)
- jQuery Mobile (16)
- backbone (15)
- underscore (22)
- sass (11)
- android (3)
- phonegap (10)
- IE私有 (11)
- qwrap (8)
- git (14)
- chrome extensions (5)
- freemarker (11)
- angularJS (3)
- seo (2)
- markdown (3)
- css动画 (4)
- 安卓开发 (2)
- React (7)
- 活动页技术 (1)
- 网络安全 (3)
- grunt (7)
- Lo-Dash (3)
- 前端国际化 (4)
- 版本控制 (2)
- 盒模型 (4)
- 微信开发 (1)
- Mock数据工具 (1)
- sails (1)
- vim (1)
- js-color (1)
- iOS 基础 (43)
最新评论
-
jertom:
<div id="showInfo" ...
addEventListener等事件监听的参数细谈 -
乌托邦国王:
引用[u][/u]
css3动画属性系列之transform细讲移动translate -
hvang1988:
能提供附件下载吗,找不到js库,google封了访问不了
Syntaxhighlighter---代码高亮插件介绍 -
sscsacdsadcsd:
我的天 那到底是为什么function是object我看und ...
typeof func ==='function'的疑惑 -
wkjiangwk:
试了,没用,你们从不去测试。
介绍一下x-webkit-speech -------实现语音输入
很多时候我们在处理对象的时候都在做一件同样的事情----将某一个源对象的所有属性拷贝到一个目标对象上。
先看看prototype的做法
Object.extend = function(destination,source){ for(var pro in source){ destination[pro] = source[pro]; } return destination; }
下面我们参照tangram的方式:
- 拷贝的是源对象自己的属性,不拷贝prototype的成员
- 在拷贝过程中,目标对象上与源对象上key相同的对应值会被覆盖
/* @function @param target -----目标对象 @param source -----源对象 */ ZYC.object.extend = function(target,source){ for(var p in source){ if(source.hasOwnProperty(p)){ //拷贝自身属性 target[p] = source[p]; } } return target; }
发表评论
-
underscore的Object之defaults
2014-04-12 18:04 1334_.defaults _.d ... -
underscore的Object之pick
2014-04-12 18:06 2678pick: //返回一个object副 ... -
ES5之Object.seal
2013-08-08 11:05 1566Object.seal 来自ES5 ... -
es6系列之Set
2013-08-05 11:10 0Set 存储任意类型的唯一 ... -
es6系列之Map
2013-08-02 21:58 0本文整理关于Map的一些方法: ... -
ES6系列之Object系列
2013-07-30 13:27 0本文收录一些es6的Object相关的新的方法 ... -
qwrap-object的mix
2013-04-25 15:52 1288qwrap的一个比较常用的api:mix ... -
qwrap-object的isPlainObject
2013-04-23 10:29 0本文载入一个qwrap版本的isPlainObj ... -
qwrap-object的dump
2013-04-25 16:26 1498本文载入qwrap一个dump的 ... -
underscore之size
2013-02-28 17:29 1532size _.size(l ... -
underscore的Objects之keys和values
2013-02-28 16:30 2586keys _.keys(objec ... -
underscore的Objects之has
2013-02-28 15:43 1619/* @name has @par ... -
isObject判断
2013-02-25 11:38 1530本代码片段来自underscore i ... -
字符串times化
2012-11-30 17:44 1394问题:把一个指定的字符串按照指定的个数进行复制输出! ... -
prototype的解读之String的几个检索api
2012-04-06 17:26 1702本篇简单地列举了prototype的几个String下检索的a ... -
prototype的解读之String的capitalize
2012-04-05 21:32 1358从这个api的命名我们很直观地就应该知道是首字母大写的操作。 ... -
prototype的解读之String的camelize
2012-04-05 21:24 2693其实这个api的作用和我前面写的 目标字符串驼峰化 功能上是一 ... -
关于浏览器的判断整理
2012-03-21 11:42 1690这篇主要是整理一下ua下的判定。 关于docume ... -
prototype的解读之Object.clone
2012-03-13 14:19 1504Object.clone(obj) -->Object ... -
prototype的解读之Array
2012-03-12 12:41 1610整理部分prototype的Array相关的api 1 ...
相关推荐
这篇博客“浅拷贝深拷贝之jQuery中的$.extend分析”深入探讨了`$.extend`在浅拷贝和深拷贝场景下的工作原理,这对于理解JavaScript对象的复制机制至关重要。 浅拷贝是指创建一个新对象,然后将源对象的引用属性复制...
// 如果拷贝对象targett里面属性和被拷贝对象objrr里面属性有相同的,则objrr里面属性值会覆盖掉targett里面属性值 ``` 在这个例子中,`targett` 中的 `id` 属性被 `objrr` 中的 `id` 属性覆盖。 #### 四、深拷贝...
jQuery的$.extend方法是一个非常强大的工具,它提供对象合并的功能,这在处理对象属性时尤其有用。它支持浅拷贝和深拷贝两种方式,这是在进行数据复制时必须要明确区分的两种不同操作。 浅拷贝是创建一个新对象,...
这两个方法允许开发者合并一个或多个对象的属性到目标对象中,实现对象间的属性拷贝。本文将深入探讨 `underscore.extend` 与 `$.extend` 的异同以及实例分析。 首先,`underscore` 是一个JavaScript实用库,提供了...
2. **浅拷贝与深拷贝**: `Object.assign()`进行的是浅拷贝,这意味着如果源对象的属性是一个引用类型(如数组或对象),则目标对象会共享这个引用。对于深拷贝,可以使用JSON方法或递归函数。 3. **构造函数和原型...
jQuery.extend是jQuery库中的一个非常重要的方法,用于合并两个或更多的对象属性到一个目标对象中。这个功能在开发过程中非常实用,尤其是在处理配置选项、扩展插件功能或者进行对象拷贝时。本篇文章将深入探讨...
`jQuery.extend`允许省略`destination`参数,此时只能有一个源对象,并且该对象的属性会被合并到调用`extend`方法的对象中。 **1. 合并到jQuery全局对象** ```javascript $.extend({ hello: function() { alert...
浅拷贝只是创建一个新对象,它的属性是指向原对象属性的引用。这意味着,如果原对象的属性是一个对象,那么新对象的相应属性也将指向同一个对象。因此,修改新对象的属性会影响到原对象。 深拷贝则会创建一个全新的...
简单来说,浅拷贝是创建了一个新对象,但它的属性仍然是对原对象属性的引用,而深拷贝则创建了一个全新的对象,其属性是原始对象属性的完整副本。 1. **基本类型与引用类型** JavaScript中有两种主要的数据类型:...
1. **浅拷贝**:仅复制对象的顶层属性,如果某个属性值是对象,新对象将共享这个引用。`smart-extend`的浅拷贝功能允许开发者快速创建一个新的对象,但不复制嵌套的对象或数组的引用。 2. **深拷贝**:不仅复制对象...
在浅拷贝模式下,`$.extend`只复制对象的顶层属性,而不改变或创建新的引用。例如,在例一中: ```javascript var settings = { validate: false, limit: 5, name: "foo" }; var options = { validate: true, name:...
1. **浅拷贝(Shallow Copy)**:这种拷贝方式只复制对象的顶层属性,不涉及深层嵌套的对象。在处理简单的对象时,浅拷贝能快速创建一个与原对象类似的新对象,但对原对象的修改不会影响到新对象。 2. **深拷贝...
在jQuery的API中,`jQuery.extend`和`jQuery.fn.extend`是两个重要的方法,它们用于合并对象属性,但作用范围和用途有所不同。本文将深入探讨这两个方法的差异,并通过实例解析它们的工作原理。 首先,`jQuery....
这个方法在开发中经常用来创建配置对象或者进行对象间的属性拷贝。让我们深入解析一下`jQuery.extend`的实现原理。 首先,`jQuery.extend`接受一个可变数量的参数,第一个参数可以是一个布尔值,表示是否进行深度...
1. **浅拷贝**:当仅传递两个对象作为参数时,`jQuery.extend(target, source)`,`target` 对象将接收 `source` 的属性,但不会改变原始对象。如果 `source` 和 `target` 有相同的属性,`source` 的属性值会覆盖 `...
浅拷贝指的是创建一个新对象,然后将原始对象的属性值复制到新对象中,但如果属性值是引用类型(如数组或对象),则浅拷贝只会复制引用地址,而不是对象本身。深拷贝则不同,它不仅复制对象的属性值,还会递归复制...