Javascript对象Clone实例分析

本文实例讲述了Javascript对象Clone用法。分享给大家供大家参考。具体如下:

Object.prototype.Clone=function()
{
  var objClone=new this.constructor();
  //这里是创建一个与被Clone对象相同结构的对象
  for(var key in this)
  {
   if(objClone[key]!=this[key])
   {
    if(typeof(this[key])=='object')
    {
     objClone[key]=this[key].Clone();
    }
    else
    {
     objClone[key]=this[key];
    }
   }
  }
  if(!objClone || (''+objClone)=='')
  {
   return (new String(this)+objClone)?this:objClone;
  }
  else
  {
   objClone.toString=this.toString;
   return objClone;
  }
}

希望本文所述对大家的javascript程序设计有所帮助。

(0)

相关推荐

  • 简单分析javascript面向对象与原型

    本文主要内容参考来自JavaScript高级程序设计,面向对象与原型章节: 1.工厂模式 ECMAScript 可以通过工厂模式来创建对象: //工厂模式 function createObject(name, age) { var obj = new Object(); //创建对象 obj.name = name; //添加属性 obj.age = age; obj.run = function () { //添加方法 return this.name + this.age + '运行中..

  • javascript用函数实现对象的方法

    本文实例讲述了javascript用函数实现对象的方法.分享给大家供大家参考.具体实现方法如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>利用函数实现对象(重要)</title&g

  • JavaScript面向对象的实现方法小结

    本文实例总结了JavaScript面向对象的实现方法.分享给大家供大家参考.具体分析如下: 方法1: var person = { name: 'hello world', age: 22, sayHello:function(){ alert('I\'m 'this.name ',and I\'m ' this.age 'years old'); } }; person.sayHello();//I'm hello world, and I'm 22 years old 方法2: window

  • javascript原始值和对象引用实例分析

    本文实例讲述了javascript原始值和对象引用的方法.分享给大家供大家参考.具体分析如下: 一句话来说:原始值是不可变的,而对象引用是可变的. js中的原始值(undefined.null.布尔值.数字和字符串)与对象(包括数组和函数)有着本质的区别.原始值是不可更改的,任何方法都无法更改一个原始值:对于字符串来说,字符串中所有的方法看上去返回了一个修改后的字符串,实际上返回的是一个新的字符串值: var str="hello world"; s.toUpperCase(); s;

  • 深入理解JavaScript中的对象

    JavaScript是一种面向对象编程(OOP)语言.一种编程语言可以被称为面向对象的,它为开发者提供了四种基本功能: 封装 - 存储相关的信息,无论是数据或方法,还是对象 聚合 -  存储一个对象到另一个对象的内部 继承 - 类的能力依赖于另一个类(或类数),用于其部分的属性和方法 多态性 - 编写函数或者方法,在各种不同的方式工作 对象是由属性.如果属性包含一个函数,它被认为是一个对象的方法,否则,该属性被认为是一个属性. 对象属性: 对象的属性可以是任何三种基本数据类型的,或者任何抽象数据

  • JavaScript对象反射用法实例

    本文实例讲述了JavaScript对象反射用法.分享给大家供大家参考.具体如下: 这里讲述JavaScript对象反射用法,涉及反射DOM对象和自定义对象 <html> <head> <title>JavaScript反射工具</title> <style type="text/css"> #show{ width:400px;height:300px; border:red solid 1px; overflow:scrol

  • javascript中clone对象详解

    开发中,打断对象间的引用关系,只想下个副本的情况无处不在,clone一个对象就在所难免了. JavaScript中,简单的方法就是用JSON函数,将对象stringify成字符串,再parse成一个新对象.要么就是从网上搜个代码,开源社区里面clone的代码还是有不少的. 代码虽然可以找得到,但,东西永远是别人的,动手学着码永远是个不变的主题. 自己写了两个克隆的函数: cloneOwn:克隆自定义对象的自有属性,不包括继承的属性,属性可以是基本数据类型和数组,自定义的对象,可以制定要克隆的属性

  • Javascript对象Clone实例分析

    本文实例讲述了Javascript对象Clone用法.分享给大家供大家参考.具体如下: Object.prototype.Clone=function() { var objClone=new this.constructor(); //这里是创建一个与被Clone对象相同结构的对象 for(var key in this) { if(objClone[key]!=this[key]) { if(typeof(this[key])=='object') { objClone[key]=this[

  • JSON字符串和对象相互转换实例分析

    本文实例分析了JSON字符串和对象相互转换方法.分享给大家供大家参考,具体如下: 同事问了我一个问题--server端返回了一个json结构的字符串,怎么样去访问json对象里面的值?jquery有没有对返回的JSON数据进行解析? 我自己写了一个小的demo,还有从网上查了一些资料,在这里跟大家分享一下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/T

  • Javascript闭包用法实例分析

    本文实例分析了Javascript闭包的概念及用法.分享给大家供大家参考.具体如下: 提到闭包,想必大家都早有耳闻,下面说下我的简单理解. 说实话平时工作中实际手动写闭包的场景并不多,但是项目中用到的第三方框架和组件或多或少用到了闭包. 所以,了解闭包是非常必要的.呵呵... 一.什么是闭包 简而言之,就是能够读取其他函数内部变量的函数. 由于JS变量作用域的特性,外部不能访问内部变量,内部可以外部变量. 二.使用场景 1. 实现私有成员. 2. 保护命名空间,避免污染全局变量. 3. 缓存变量

  • Javascript节点关系实例分析

    本文实例分析了Javascript的节点关系.分享给大家供大家参考.具体如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>节点关系</title> <script typ

  • javascript函数特点实例分析

    本文实例分析了javascript函数特点.分享给大家供大家参考.具体分析如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>javascript函数特点(重要)</title>

  • JSON基本语法及与JavaScript的异同实例分析

    本文实例讲述了JSON基本语法及与JavaScript的异同.分享给大家供大家参考,具体如下: JSON 的语法可以表达三种类型的值. 简单值:与 JavaScript 语法相同,可以表示字符串.数值.布尔值以及 null,但不支持 JavaScript 的 undefined. 对象(复杂数据类型):是一组有序的键值对,每个键值对中的键可以是简单值,也可以是复杂数据类型的值. 数组(复杂数据类型):是一组有序的值的列表,可以使用数值索引来访问其中的值,这个值可以是任意类型(简单值.对象或数组)

  • javascript中cookie对象用法实例分析

    本文实例讲述了javascript中cookie对象用法.分享给大家供大家参考.具体如下: 属性 name          唯一必须设置的属性,表示cookie的名称 expires       指定cookie的存活周期,如不设置,浏览器关闭自动失效 path           决定cookie对于服务器对于其他网页的可用性,一般情况下,   cookie对同一目录下的所有页面都可用,当设置path属性后,cookie只对指定路径及子路径下的所有网页有效 domain           

  • javascript函数式编程实例分析

    本文实例讲述了javascript函数式编程.分享给大家供大家参考.具体分析如下: js像其他动态语言一样是可以写高阶函数的,所谓高阶函数是可以操作函数的函数.因为在js中函数是一个彻彻底底的对象,属于第一类公民,这提供了函数式编程的先决条件. 下面给出一个例子代码,出自一本js教程,功能是计算数组元素的平均值和标准差,先列出非函数式编程的一种写法: var data = [1,1,3,5,5]; var total = 0; for(var i = 0;i < data.length;i++)

  • javascript事件模型实例分析

    本文实例讲述了javascript事件模型的用法.分享给大家供大家参考.具体分析如下: 一.事件模型 冒泡型事件(Bubbling):事件由叶子节点沿祖先节点一直向上传递到根节点 捕获型事件(Capturing):由DOM树最顶元素一直到最精确的元素,与冒泡型事件相反 DOM标准事件模型:DOM标准既支持冒泡型事件,也支持捕获型事件,可以说是两者的结合体,首先是捕获型,接着冒泡传递 二.事件对象 在IE浏览器中事件对象是window的一个属性,在DOM标准中,event必须作为唯一的参数传给事件

  • javascript匿名函数实例分析

    本文实例讲述了javascript匿名函数的用法.分享给大家供大家参考.具体分析如下: 摘要: 本文讲解的是javascript最基础也是最重要的东西--函数,之所以写这篇文章,是因为面试的时候问到了,也算是温故而知新了. 先上个例子,如果你看懂了,说明你已经理解了本文要讲的. 复制代码 代码如下: var f = (function() { function f() {return 10;} return f(); function f() {return 20;} var f = 30; }

随机推荐