Javascript 浅拷贝、深拷贝的实现代码

 更新时间:2008年12月04日 01:06:42   作者:  
Javascript中的对像赋值与Java中是一样的,都为引用传递.就是说,在把一个对像赋值给一个变量时,那么这个变量所指向的仍就是原来对像的地址.那怎么来做呢 答案是克隆.
什么是"clone"?
在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。在Java/javasript语言中,用简单的赋值语句是不能满足这种需求的。要满足这种需求虽然有很多途径,但实现clone()方法是其中最简单,也是最高效的手段,当然了 javascript语言中并没有此方法.
所以我特意写了两个克隆方法:一个为浅复制 ,一个为深复制.
解释:
浅复制(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用.
深复制(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的.

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

相关文章

  • Echarts图表如何利用formatter自定义tooltip的内容和样式

    Echarts图表如何利用formatter自定义tooltip的内容和样式

    这篇文章主要给大家介绍了关于Echarts图表如何利用formatter自定义tooltip的内容和样式的相关资料,echarts的图表配置非常的灵活自由,但是不熟悉的时候容易不知道怎么配置,需要的朋友可以参考下
    2023-06-06
  • JavaScript打开本地文件夹的4种方法举例

    JavaScript打开本地文件夹的4种方法举例

    这篇文章主要给大家介绍了关于JavaScript打开本地文件夹的4种方法,JavaScript在前端开发中是一种使用非常广泛的编程语言,常用于实现网页中的交互和动态效果,需要的朋友可以参考下
    2023-07-07
  • 原生js实现百叶窗效果及原理介绍

    原生js实现百叶窗效果及原理介绍

    这篇文章主要介绍了原生javascript实现百叶窗效果的方法及原理介绍,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • 如何阻止小程序遮罩层下方图层滚动

    如何阻止小程序遮罩层下方图层滚动

    这篇文章主要介绍了如何阻止小程序遮罩层下方图层滚动,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • JS生成唯一id的多种解决方案(非常实用)

    JS生成唯一id的多种解决方案(非常实用)

    在项目开发中我们常需要给某些数据定义一个唯一标识符,便于寻找关联,这篇文章主要给大家介绍了关于JS生成id的多种解决方案,文中介绍的方法都非常实用,需要的朋友可以参考下
    2023-10-10
  • Uniapp全局消息提示以及其组件的实现方法

    Uniapp全局消息提示以及其组件的实现方法

    当时在做登录那边需要做一些交互,所以必不可少要用到消息提示框,下面这篇文章主要给大家介绍了关于Uniapp全局消息提示以及其组件的实现方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • webpack自动打包功能实现

    webpack自动打包功能实现

    webpack是前端项目构建工具打包工具,本文通过实例代码给大家介绍webpack自动打包功能实现,感兴趣的朋友跟随小编一起看看吧
    2023-02-02
  • js原生代码实现轮播图的实例讲解

    js原生代码实现轮播图的实例讲解

    下面小编就为大家带来一篇js原生代码实现轮播图的实例讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • js图片翻书效果代码分享

    js图片翻书效果代码分享

    这篇文章主要介绍了js实现图片翻书效果,代码简单,效果很棒,感兴趣的小伙伴们可以参考一下
    2015-08-08
  • js完美实现@提到好友特效(兼容各大浏览器)

    js完美实现@提到好友特效(兼容各大浏览器)

    本文给大家分享的是一则使用javascript完美实现兼容各大浏览器的@好友自动提示的特效,是根据百度贴吧的效果模仿来的,推荐给小伙伴们,希望大家能够喜欢。
    2015-03-03

最新评论