javascript深度克隆
来源:互联网 发布:3668usb2.0端口驱动 编辑:程序博客网 时间:2024/05/20 09:48
Clone Anything with JavaScript
function clone(src) {function mixin(dest, source, copyFunc) {var name, s, i, empty = {};for(name in source){// the (!(name in empty) || empty[name] !== s) condition avoids copying properties in "source"// inherited from Object.prototype. For example, if dest has a custom toString() method,// don't overwrite it with the toString() method that source inherited from Object.prototypes = source[name];if(!(name in dest) || (dest[name] !== s && (!(name in empty) || empty[name] !== s))){dest[name] = copyFunc ? copyFunc(s) : s;}}return dest;}if(!src || typeof src != "object" || Object.prototype.toString.call(src) === "[object Function]"){// null, undefined, any non-object, or functionreturn src;// anything}if(src.nodeType && "cloneNode" in src){// DOM Nodereturn src.cloneNode(true); // Node}if(src instanceof Date){// Datereturn new Date(src.getTime());// Date}if(src instanceof RegExp){// RegExpreturn new RegExp(src); // RegExp}var r, i, l;if(src instanceof Array){// arrayr = [];for(i = 0, l = src.length; i < l; ++i){if(i in src){r.push(clone(src[i]));}}// we don't clone functions for performance reasons//}else if(d.isFunction(src)){//// function//r = function(){ return src.apply(this, arguments); };}else{// generic objectsr = src.constructor ? new src.constructor() : {};}return mixin(r, src, clone);}
0 0
- javascript中的深度克隆
- javascript深度克隆
- JavaScript 深度克隆
- JavaScript深度克隆
- Javascript 深度克隆
- JavaScript中的深度克隆
- JavaScript深度克隆
- JavaScript对象深度克隆
- JavaScript 深度克隆 JSON 对象
- javascript深度克隆一个对象
- JavaScript的对象深度克隆
- javascript深度克隆一个对象
- javascript实现深度赋值\深度克隆
- javascript中对象的深度克隆
- JavaScript中对象的深度克隆
- javascript中对象的深度克隆
- javascript中对象的深度克隆
- JavaScript的对象深度克隆方法
- 健康枕为健康睡眠做出满意的解答
- 软件工程作业之统计单词出现频率前10 的单词
- [2014-10-22]JAVA笔记_Exception(异常)
- java中计算日期间隔
- Entity Framework 5.0系列之自动生成Code First代码
- javascript深度克隆
- android绘图网格线
- 2014鞍山现场赛 HDU5071(模拟)
- 面试珠玑 微软面试题小汇
- synchronized:线程同步方法使用总结
- jquer mobile关于查找替换修改span style样式问题
- C++学习 C++中虚函数工作原理和(虚)继承类的内存占用大小计算
- PHP截取各种编码的汉字字符串
- 字符编码那些事儿(UTF-8,GBK,Unicode,ASCII)(二)