TOGOUTECH

javascript - 在 JavaScript 中克隆对象

coder 2024-05-16 原文

<分区>

考虑以下代码或检查此 fiddle .

var obj = {
    name: "abc",
    age: 20
}

var objTwo;

console.log(obj.age);
objTwo = obj;
objTwo.age = 10;
console.log(obj.age);

我创建了一个名为 obj 的对象,它有两个属性。现在我将 obj 分配给另一个名为 objTwo 的对象。现在我更新 objTwo 中的一个属性。同样的变化也反射(reflect)在 obj 上。 如何在不创建引用的情况下将一个对象的值分配给另一个对象?

有关javascript - 在 JavaScript 中克隆对象的更多相关文章

  1. c# - 修改序列化 ASP.NET WebAPI 对象中的 xml 数组元素名称 - 2

    在我的WebAPIController中返回对象列表时,我一直在努力输出自定义根xml元素。我的Controller方法看起来像这样:publicList<Product>Get(){returnrepository.GetProducts();}它会像这样呈现一个xml输出:<ArrayOfProduct><Product><Name>Product1</Name></Product><Product><Name>Product2</Name></Product>&

  2. c# - 为什么有些对象不能从不同的线程访问? - 2

    我在用C#开发时遇到过这个问题好几次。我会愉快地编码,在线程之间来回传递对象等等,然后突然间我得到了这个熟悉的错误:"Thecallingthreadcannotaccessthisobjectbecauseadifferentthreadownsit."好吧,我以前处理过它,尤其是GUI线程上的对象。您只需编写一些额外的代码来围绕该特定问题进行编程。但是我偶尔会遇到一个对象,它无论如何都是普通的,但它不喜欢被不同的线程访问。编辑我在原来的帖子中弄错了导致访问异常的对象。这不是IPAddress,而不是它的System.Printing.PrintQueue.我用它来获

  3. c# - 带有通用对象列表的 List.Contains(item) - 2

    如果您有一个列表,如果指定的属性或属性集合存在,您如何返回该项目?publicclassTesting{publicstringvalue1{get;set;}publicstringvalue2{get;set;}publicintvalue3{get;set;}}publicclassTestingList{publicvoidTestingNewList(){vartestList=newList<Testing>{newTesting{value1="Value1-1",value2="Value2-1",value3=3},newT

  4. c# - 如何从 .NET 对象创建 XML 文档? - 2

    我有以下接受文件名的变量:varxtr=newXmlTextReader(xmlFileName){WhitespaceHandling=WhitespaceHandling.None};varxd=newXmlDocument();xd.Load(xtr);我想更改它以便我可以传入一个对象。我不想先将对象序列化到文件中。这可能吗?更新:我的初衷是拿一个xml文档,合并一些xslt(存储在一个文件中),然后输出并返回html...像这样:publicstringTransformXml(stringxmlFileName,stringxslFileName){varxtr=newXml

  5. c# - 如何使用 Linq 处理带有 FirstOrDefault 的 NULL 对象属性 - 2

    我真正的应用程序问题如下所示Employeeempl=newEmployee(397947,"David","Redson",80000);employees.Add(empl);employees.Add(newEmployee(174966,"Alfred","Swanson",50000));employees.Add(newEmployee(848024,"Alima","Bieyrou",40000));employees.Add(newEmployee(number:397462

  6. c# - 将对象转换为通用列表 - 2

    我有3个通用类型列表。List<Contact>=newList<Contact>();List<Address>=newList<Address>();List<Document>=newList<Document>();并将其保存在一个对象类型的变量中。现在我需要执行CastBacktoList来执行foreach,有些像这样:List<Contact>=(List<Contact>)obj;但是obj的内容每次都变,我有这样的:List<???>=(List<???&

  7. 【数据库迁移系列】从MySQL到openGauss的数据库对象迁移实践 - 2

    在之前这一篇中我们分享过使用chameleon工具完成MySQL到openGauss的全量数据复制、实时在线复制。9.30新发布的openGauss3.1.0版本,工具的全量迁移和增量迁移的性能不但有了全面提升,而且支持数据库对象视图、触发器、自定义函数、存储过程的迁移。本篇就来分享一下使用chameleon工具进行从MySQL到openGauss的数据库对象迁移。文章目录软件安装数据库对象迁移测试初始化迁移过程视图迁移触发器迁移自定义函数迁移存储过程迁移Q&A软件安装由于我之前已经安装过3.0版本的工具了,需要先卸载一下。[root@

  8. c# - 如何从 C# 中的两个列表创建一个对象对列表? - 2

    我有两个对象列表。列表A和列表B。我需要创建列表C,它将列表A和列表B组合成对。例如:ListAobjecta1objecta2objecta3ListBobjectb1objectb2objectb3ListC(createspairs)objectc1(objecta1,objectb1)objectc2(objecta2,objectb2)objectc3(objecta3,objectb3) 最佳答案 您可以使用Enumerable.Zip()System.Linq中的方法。IEnumerable<Tuple<A

  9. c# - 试图理解==运算符与对象 - 2

    这个问题已经有了答案:C#differencebetween==andEquals()17答objecta="1";objectb="1";Console.WriteLine(a==b);//returnsTrueobjectc=1;objectd=1;Console.WriteLine(c==d);//returnsFalse上面的代码返回整数和字符串的不同结果。我不明白为什么。有人能帮我理解这背后的原因吗?那么==(运算符)和ReferenceEquals(函数)之间有什么区别呢? 最佳答案 尽管

  10. c# - 按 id 从通用列表中删除对象 - 2

    我有一个这样的域类:publicclassDomainClass{publicvirtualstringname{get;set;}publicvirtualIList<Note>Notes{get;set;}}我将如何从IList<Note>中删除一个项目??如果它是一个列表,我就可以做到,但它必须是IList因为我将Nhibernate用于我的持久层。理想情况下,我希望在我的域类中使用这样的方法:publicvirtualvoidRemoveNote(intid){//removethenotefromthelisthereList<Note>n

随机推荐

  1. c# - C#计算两年间的闰年数 - 2

    有没有更好的方法来计算两年之间的闰年数。假设我有开始日期和结束日期。我有我的代码,但我认为应该有更优雅的方式。调用代码:varnumberOfLeapYears=NumberOfLeapYears(startDate.Year+1,endDate.Year-1);函数本身:privatestaticintNumberOfLeapYears(intstartYear,intendYear){varcounter=0;for(varyear=startYear;year<=endYear;year++)counter+=DateTime.IsLeapYear(year)?1:0;re

  2. c# - .net 中的线程安全队列(列表) - 2

    我需要为要添加到lucene索引的项目创建一个线程安全列表。下面的线程安全吗?publicsealedclassIndexQueue{staticreadonlyIndexQueueinstance=newIndexQueue();privateList<string>items=newList<string>();privateIndexQueue(){}publicstaticIndexQueueInstance{get{returninstance;}}privateobjectpadlock=newobject();publicvoidAddItem(s

  3. c# - 为什么应该使用 C# 预定义类型而不是系统命名空间中的别名 - 2

    在JuvalLowy的“C#编码标准”中,可从www.idesign.net获得,建议使用C#预定义类型而不是System命名空间中的别名,例如:object不是Objectstring不是Stringint不是Int32这样做有什么好处?它们有何不同?我在自己的编码中遵循了这个建议,但不知道它们有何不同。 最佳答案 它们意外不同的主要时间是当某人愚蠢到调用类型(或属性/字段/等)String(例如)时,因为string始终指的是global::System.String,其中String可能是YourNamespace.Strin

  4. c# - GUID 转换和比较与字符串比较的成本有多高 - 2

    哪个更快?boolsame=(Guid)Identifier==id;boolsame=String.Equals(string1,string2,StringComparison.OrdinalIgnoreCase); 最佳答案 我使用了这段代码:objectvictim=Guid.Empty;Guidtarget=Guid.NewGuid();Stopwatchsw=newStopwatch();sw.Start();for(inti=0;i<10000000;i++){boolequal=((Guid)victim)==

  5. c# - 无法将 System.String 转换为 System.Uri - 2

    我正在使用Web客户端类从互联网(实际上是Flickr)下载文件。只要我使用它就可以正常工作:WebClient().DownloadData(string),但是这会锁定UI,因为它不是异步的。但是,当我尝试WebClient().DownloadDatAsync(string)时,出现编译错误:“无法将System.String转换为System.Uri”。字符串MediumUrl返回"http://farm4.static.flickr.com/2232/2232/someimage.jpg"所以问题是如何将字符串"http://farm4.static.flickr.com/2

  6. c# - 如何使用正则表达式删除括号中的文本 - 2

    我正在寻找一个将执行以下操作的正则表达式:INPUT:UserName([email protected])OUTPUT:UserName实现此目标的最佳方法是什么?使用正则表达式提取括号内的文本并替换它和任何)(字符? 最佳答案 这应该可以完成工作:varinput="UserName([email protected])";varoutput=Regex.Replace(input,@"?\(.*?\)",string.Empty);注意(和)字符的转义,这样它们就不会被识别为组标记。

  7. c# - 从 ADO.NET 确定 SQL Server 的版本 - 2

    我需要确定连接字符串连接C#控制台应用程序(.NET2.0)的SQLServer版本(在此特定情况下为2000、2005或2008)。任何人都可以提供任何指导吗?谢谢,MagicAndi更新如果可能的话,我希望能够从ADO.NET连接对象中确定SQLServer版本。 最佳答案 此代码将确定正在使用的SQLServer数据库的版本-2000、2005或2008:try{SqlConnectionsqlConnection=newSqlConnection(connectionString);Microsoft.SqlServer.M

  8. c# - 在 .net (C#) Windows 应用程序中从条码扫描仪读取数据! - 2

    关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion如何在.netwindows应用程序中从条码扫描仪读取数据?有人可以给出要遵循的步骤顺序吗?我对此很陌生。

  9. c# - 内存映射文件 .NET - 2

    我有一个项目,它需要访问ASP.NET中的大量专有数据。这是通过在共享内存中加载数据在Linux/PHP上完成的。我想知道尝试使用内存映射文件是否可行,或者是否有更好的方法支持更好的.NET。我正在考虑使用数据缓存,但不确定缓存中保存的数据大小的所有缺陷。 最佳答案 我知道这有点晚了,但是.NET4.0框架现在支持开箱即用的内存映射文件:http://blogs.msdn.com/salvapatuel/archive/2009/06/08/working-with-memory-mapped-files-in-net-4.aspx

  10. c# - 当我们使用时线程被中止 - 2

    我收到以下异常:System.Threading.ThreadAbortException:Threadwasbeingaborted.atSystem.Threading.Thread.AbortInternal()atSystem.Threading.Thread.Abort(ObjectstateInfo)atSystem.Web.HttpResponse.End()atSystem.Web.HttpResponse.Redirect(Stringurl,BooleanendResponse)atSystem.Web.HttpResponse.Redirect(Stringurl