`
zhangyaochun
  • 浏览: 2620502 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

prototype的解读之Object.clone

阅读更多

Object.clone(obj)  -->Object

 

原api的用途

 

    Clones the passed object using shallow copy(copies all the original's properties the result).

 

    克隆被传过来的参数对象的浅复制(给返回的对象复制所有源的属性)。

 

    Do note that this is shallow copy, not deep copy.

 

    注意一下这个是浅复制,不是深度克隆

 

 

用例

 

 

var obj = {name:'zhangyaochun',job:'fe'};
var newObj = Object.clone(obj);
newObj.name = 'newName';
console.log(newObj.name);  //newName
console.log(obj.name);   //zhangyaochun

 

 

源码展示:

 

关于Object.extend请看http://zhangyaochun.iteye.com/blog/1425306

 

 

clone:function(obj){
   return Object.extend({ },obj);
}
1
0
分享到:
评论

相关推荐

    prototype-1.4.0源码解读.js

    《Prototype 1.4.0 源码解读:深入理解JavaScript库的基石》 Prototype 是一个著名的JavaScript库,它的1.4.0版本在Web开发领域有着广泛的使用。这个库为JavaScript程序员提供了许多实用的功能,包括对象扩展、类...

    prototype 1.6.0.2.js+使用DEMO例子

    此外,`Class.create()`和`Object.clone()`等函数则支持面向对象编程。 2. **数组操作**:Prototype为Array对象增加了许多实用方法,如`each()`用于遍历数组,`indexOf()`和`include()`用于查找元素,`map()`和`...

    object-clone-proposal:关于ECMAScript中的Object.clone方法的建议

    Object.clone()地位冠军:待定作者:亚历克斯·洛尔舞台:0-稻草人动机使用散布运算符... ,可以很容易地对对象进行浅表克隆。 在某些情况下,需要创建对象的深层克隆。 本地复制引用的内存比手动克隆要有效得多。...

    jquery.clone.js

    jquery.clone

    js-object-clone:深度克隆并与ES5属性描述符和对象可扩展性支持进行比较

    对象克隆ES5的深克隆和比较概要// just ... clone ( src ) ; // shallow copylog ( Object . is ( src , dst ) ) ; // falselog ( Object . equals ( src , dst ) ) ; // truedst . lang . push ( 'javascript' ) ;log

    深入理解JavaScript中的对象复制(Object Clone)

    可以通过在Object.prototype上添加一个clone方法来实现深复制。自定义的clone方法会检查对象的属性类型,并对不同类型的属性进行相应的处理: ```javascript Object.prototype.clone = function() { var copy = ...

    com.hihonor.android.clone.2212201117.apk

    com.hihonor.android.clone.2212201117.apk

    better-objects:javascript 对象的 Clone 和 Equals 方法

    Object.prototype.clone() 将一个对象克隆到另一个对象中 深克隆,无论多深 不克隆函数 - 出于性能原因保留对同一函数的引用 如果出于某种原因,您需要克隆这些函数,您可以取消注释第 13/16 行 Object.prototype....

    prototype.js简介

    6. **数组操作** - 通过扩展Array对象,如`Array.prototype.each()`遍历数组,`Array.prototype.clone()`复制数组,使得数组操作更加高效。 7. **字符串和对象操作** - prototype.js 也增强了String和Object对象,...

    005Prototype.rar

    Circle.prototype = Object.create(Shape.prototype); Circle.prototype.constructor = Circle; var circle1 = new Circle(); var circle2 = circle1.clone(); console.log(circle1.type); // 输出 "Circle" ...

    prototype.js开发笔记.pdf

    Prototype.js提供了许多Object类的扩展,例如Object.extend()、Object.clone()、Object.inspect()等。 2.3. 对 Number 类的扩展 Prototype.js提供了许多Number类的扩展,例如Number.prototype.toInt()、Number....

    prototype.js 1.6中文手册、prototype.js 1.6英文手册、

    `Object.clone()`则用于创建一个对象的浅复制,保留原始对象的所有属性,但不包括引用类型的值。 ### 2. DOM操作 Prototype.js 提供了一套丰富的DOM操作接口,使得与HTML元素的交互更为简便。例如,`Element....

    133.Clone Graph 克隆图【LeetCode单题讲解系列】

    133.Clone_Graph_克隆图【LeetCode单题讲解系列】

    JavaScript对象拷贝与Object.assign用法实例分析

    在JavaScript中,通过简单赋值或使用`Object.assign()`方法可以实现浅拷贝。例如: ```javascript let objA = {name: '对象A', content: '我是A'}; let copyA = objA; ``` 在这个例子中,`copyA`只是`objA`的一个...

    Clone详解.doc

    `Object`类中的`clone()`方法是`protected`的,这样可以防止其他类随意克隆不期望被克隆的对象。在`Employee`类中,由于继承了`Object`,因此可以直接访问并重写`clone()`方法,实现自定义的克隆逻辑。 5. 使用...

    Prototype 1.6 中文版CHM

    - **Class 和 Object.clone()**:模拟了面向对象编程中的类和实例化,通过`Object.extend`和`Class.create`实现。 ### 3. **Prototype 1.6 版本亮点** - **性能优化**:在1.6版本中,Prototype针对DOM操作进行了...

    js代码-Object.assign

    let clone = Object.assign({}, original); ``` 4. 清空对象: ```javascript let obj = { a: 1, b: 2 }; Object.assign(obj, {}); // obj: {} ``` 综上所述,`Object.assign()`是JavaScript中一个强大的...

    prototype-1.4.0

    Prototype 提供了丰富的对象操作方法,如 `Object.extend` 用于对象合并,将源对象的属性复制到目标对象;`Object.clone` 方法可以创建一个对象的浅拷贝;`Object.keys` 返回对象的所有可枚举属性名,这些功能极大...

    深化理解JavaScript中的对象复制(Object Clone)_.docx

    Object.prototype.clone = function() { var copy = (this instanceof Array) ? [] : {}; for (let attr in this) { if (!this.hasOwnProperty(attr)) continue; copy[attr] = (typeof this[attr] == "object") ...

    prototype.js开发者手册.doc

    Prototype.js 包含了许多实用工具函数,例如`Object.extend`用于合并对象,`Array.clone`用于复制数组,以及`String.startsWith`和`String.endsWith`等方法,它们极大地提高了开发效率。 **与Ruby的关联** ...

Global site tag (gtag.js) - Google Analytics