//测试Chrome版本 40.0.2214.115 m //如有错误欢迎指出 //深浅拷贝 //写过复杂的,做了各种判断的那种 //想想写个简单容易一眼看到头的 var a1={}; var a2={ namex:"xxx", getName:function(){ alert(namex); }, xx:{ namexx:"xxx", } }; //一个向另一个加另一个上面没有的属性 //很简单 var copy=function(){ //浅拷贝 var name, target=arguments[0], src=arguments[1]; for(name in src){ if(src[name]===target[name]){ continue; } target[name]=src[name]; } } //copy(a1,a2); //console.info(a1);// //深拷贝 //浅拷贝代码改改 //注意两个问题 //明确谁向谁拷贝 //第二个要有返回值(return),不然返回都为 undefined var deepCopy=function(){ var name, target=arguments[0], src=arguments[1]; //再做个判断,若是再次拷贝时,target[name]很可能为空 if(!(typeof(target)==="object")){ target={}; } for(name in src){ if(src[name]===target[name]){ continue; } /* if( target !==null && typeof(src[name])==="object"){ target[name]=deepCopy(target[name],src[name]); }else{ target[name]=src[name]; } */ if( src[name] !==null && typeof(src[name])==="object"){ //src就是引用xx --->target --------> {namexx:"xxx",} target[name]=deepCopy(target[name],src[name]); //target[name]=deepCopy(target[name]!==undefined?target[name]:{} ,src[name]); console.trace(); }else if(src[name]!==undefined){ target[name]=src[name]; } //target[name]=src[name]; } return target; }; var a3={}; var a4={ namex:"xxx", getName:function(){ alert(namex); }, xx:{ namexx:"xxx", } }; deepCopy(a3,a4); console.info(a3); a4.namex="我是谁";//深拷贝后不会再受到影响 console.info(a3);
相关推荐
jquery购物车 实现原理分析
本文实例为大家分享了jQuery实现轮播图及其原理的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> <meta charset="utf-8" name="viewport" content="width=device-width,...
资源名称:jQuery技术内幕:深入解析jQuery架构设计与实现原理内容简介:本书首先通过“总体架构”梳理了各个模块的分类、功能和依赖关系,让大家对jQuery的工作原理有大致的印象;进而通过“构造 jQuery 对象”章节...
jQuery无缝滚动原理分析
《jquery技术内幕:深入解析jquery架构设计与实现原理》由阿里巴巴资深前端开发工程师撰写,从源代码角度全面而系统地解读了jquery的17个模块的架构设计理念和内部实现原理,旨在帮助读者参透jquery中的实现技巧和...
前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+jQuery+实现烟花特效前端+...
jquery实现的等待加载页面 即实现更好的用户交互效果
Jquery1.26版本的源码分析,pdf格式文档,相当清淅的书籍,前端开发者必看的类库书籍,...采用CSS方式查找Dim节点,jQuery类数组的分析,Dom元素的属性及操作,Event事件分析及应用,jquery中的Ajax实现及源码分析等内容.
深入解析jquery架构设计与实现原理》首先通过“总体架构”梳理了各个模块的分类、功能和依赖关系,让大家对jquery的工作原理有大致的印象;进而通过“构造jquery对象”章节分析了构造函数jquery()的各种用法和内部...
jQuery实例-信息提示jQuery实现 jQuery实例-信息提示jQuery实现
利用JS和jQuery实现前端布局中的瀑布流布局,适合前端进阶者观看,有详细的视频讲解!
jQuery+css实现tab切换效果 jQuery+css实现tab切换效果源代码
javascript jquery原理 javascript jquery原理 javascript jquery原理 javascript jquery原理 javascript jquery原理
jQuery实现Table分页跳转,JQUERY实现TABLE分页效果
一个基于jquery库的点击加载更多实现(可在一个页面实现多个)。 真实的案例。 当初进行项目的时候没有找到合适的代码(找到的很多都是滚动条拖到底自动出现,没有点击出现的),并且要实现一个页面多个点击加载,...
NULL 博文链接:https://bijian1013.iteye.com/blog/2255037
jquery工作原理
Jquery源码分析 清晰 Jquery源码分析 清晰 Jquery源码分析 清晰 Jquery源码分析 清晰
JQuery实现动态滚动菜单效果 JQuery实现动态滚动菜单效果 JQuery实现动态滚动菜单效果