二维码
微世推网

扫一扫关注

当前位置: 首页 » 快闻头条 » 资讯 » 正文

简单介绍克隆_JavaScript

放大字体  缩小字体 发布日期:2021-11-13 02:17:25    浏览次数:300
导读

1、浅克隆浅克隆无法copy数组和对象var obj = {name : "abs",age : '18',sex : 'male'}var obj1 = {}function clone(Origin,target) {target = target || {};//防止用户不输入targetfor(var

1、浅克隆

浅克隆无法copy数组和对象

var obj = { name : "abs", age : '18', sex : 'male'}var obj1 = {}function clone(Origin,target) { target = target || {};//防止用户不输入target for(var k in Origin){ target[k] = Origin[k]; }}clone(obj,obj1);

2、深克隆

先判断它是什么,原始值,数组还是对象,分别处理

遍历对象

是原始值直接copy

不是原始值判断是数组还是对象

是数组建空数组

是对象建空对象

建立了之后再遍历一遍原始对象或数组里是啥

递归

var obj = { name : 'lin', age : '18', sex : 'male', card : [1,2,3,4], wife : { name : 'bcsds', son : { name : 'aaa' }, age : '23' }}var obj1 = {}//原始值和对象数组typeof返回值有区别function deepClone(origin,target) { target = target || {}; for(var k in origin) { if(origin.hasOwnProperty(k)){ if(typeof(origin[k]) == 'object') { if(Object.prototype.toString.call(origin[k]) == '[object Array]') { target[k] = []; }else { target[k] = {}; } deepClone(origin[k],target[k]); }else { target[k] = origin[k]; } } }}deepClone(obj,obj1);

简单介绍克隆 Javascript | 《Linux就该这么学》 (linuxprobe)

 
(文/小编)
免责声明
• 
本文仅代表发布者:个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,需自行承担相应责任。涉及到版权或其他问题,请及时联系我们删除处理邮件:weilaitui@qq.com。
 

Copyright©2015-2025 粤公网安备 44030702000869号

粤ICP备16078936号

微信

关注
微信

微信二维码

WAP二维码

客服

联系
客服

联系客服:

24在线QQ: 770665880

客服电话: 020-82301567

E_mail邮箱: weilaitui@qq.com

微信公众号: weishitui

韩瑞 小英 张泽

工作时间:

周一至周五: 08:00 - 24:00

反馈

用户
反馈