JS中如何更加深度的复制对象

面试收集:如何深度的复制

         var json = {a:6,b:4,c:[1,2,3]};

		var json2 = clone(arr);

		console.log(json2[‘b‘]);   //4

		function clone(obj){
				var oNew = new obj.constructor(obj.valueOf());
				if(obj.constructor == Object){
						for(var i in obj){
								oNew[i] = obj[i];
								if(typeof(oNew[i]) == ‘object‘){
										clone(oNew[i]);
								}
						}
				}
				return oNew;
		}

  不知道JQ中的原方法是不是这样写的?!!

时间: 2024-10-11 17:01:37

JS中如何更加深度的复制对象的相关文章

js中的事件,内置对象,正则表达式

[JS中的事件分类] 1.鼠标事件: click/dbclick/mouseover/mouseout/mousemove/mousedown/mouseup 2.键盘事件: keydown: 键盘按下去触发 keypress: 键盘按下并松开的瞬间触发 keyup: 键盘抬起时触发 [注意事项:(了解)] ① 执行顺序: keydown--keypress--keyup ② 长按时,会循环不断的执行keydown-keypress ③ 有keydown事件,不一定有keyup事件(事件触发过程

JS基础--函数与BOM、DOM操作、JS中的事件以及内置对象

   前   言 絮叨絮叨 这里是JS基础知识集中讲解的第三篇,也是最后一篇,三篇JS的基础,大多是知识的罗列,并没有涉及更难得东西,干货满满!看完这一篇后,相信许多正在像我一样正处于初级阶段的同学,经过初步的学习,会对这一门语言有了一定深入的了解,也会感受到这一门语言的强大之处.希望各位同学通过一定的学习,会得到等大的收获. 因为是最后一篇所以内容可能有点多,希望各位同学能够慢慢看,细细看,让我们一起学习,一起进步,一起感受JS的魅力. 一函数 函数的声明及调用 1.函数的声明格式: func

JS中一些常用的内置对象

在JS中,经常会遇到明明知道一个对象有某个属性或方法,可是又不知道怎么写的情况.下面,我就罗列了一些JS中常用的内置对象的属性和方法. Math对象: Math对象的作用是执行常见的算术任务. 首先Math属性中最常用的属性就是PI了,我们一般用Math.PI来调用它.在控制台中输出它的值为3.141592653589793,也就是圆周率.Math对象的常用的属性主要就是PI了,其他的用的比较少,如果用的时候直接查手册就好了. 然后就要说说它的方法了,Math的内置对象还是挺多的,不过都比较简单

JS中把字符串转成JSON对象的方法

在JS中,把 json 格式的字符串转成JSON对象,关键代码 json = eval('('+str+')'); <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml

js中的节点遍历+类数组对象

firstChild  第一个子元素 lastChild  最后一个子元素 childNodes[n]  =   childNodes.item(n)    第n+1个子元素 parentNode  父元素 nextSibling  下一个兄弟元素 previousSibling  上一个兄弟元素 document.documentElement 获取文档的根节点 .tagName 标签名 <!DOCTYPE html> <html lang="en"> <

JS中直接从java后台获得对象的值(数组的值)

这里举得例子是:JS直接从后台Contorller中(SpringMVC中的model中)获得数值的值 Contorller 此处将 talentIntegralRecordsDay talentIntegralRecordsIntegral 两个数组用JSON.toJSONString()封装. @SuppressWarnings("deprecation") @RequestMapping("/integralParadise") public ModelAnd

js中常用的browser和dom对象操作总结

一.常用的Window对象操作 Window对象中又包含了document.history.location.Navigator和screen几个对象,每个对象又有自己的属性方法,这里window可以省略. 如window.location.href  可以简写为location.href //返回运行浏览器的操作系统和(或)硬件平台 var platform = navigator.platform; //浏览器的代码名 var appCodeName = navigator.appCodeN

js中常用的offset client screen对象

javascript中offsetWidth.clientWidth.width.scrollWidth.clientX.screenX.offsetX.pageX offsetWidth //返回元素的宽度(包括元素宽度.内边距和边框,不包括外边距) offsetHeight //返回元素的高度(包括元素高度.内边距和边框,不包括外边距) clientWidth //返回元素的宽度(包括元素宽度.内边距,不包括边框和外边距) clientHeight //返回元素的高度(包括元素高度.内边距,

js中如何把字符串转化为对象

例如 [javascript] var test='{ colkey: "col", colsinfo: "NameList" }' var test='{ colkey: "col", colsinfo: "NameList" }'很明显是一个对象,但如何把文本转为对象呢.使用eval();注意一定要加括号,否则会转换失败 把文本转化为对象 [javascript] var test='{ colkey: "col