我们在使用JavaScript进行拷贝的过程中,可以使用浅拷贝对原始类型为值传递,也可以对对象类型进行引用传递。使用浅拷贝操作完成后悔影响会影响拷贝前的对象。本文介绍JavaScript中浅拷贝的三种方法。
1、使用循环遍历对象方法(遍历对象的属性赋值给新对象)
function shallowCopy(obj){ let copyObj={}; for(let key in obj){ if(obj.hasOwnProperty(key)){ copyObj[key] = obj[key]; } } return copyObj; }
2、使用es6提供的Object.assign()方法浅拷贝
/* Object.assign(son, obj) console.log(son); son.msg.sum = 20 console.log(obj); */
3、使用jQuery中的$.extend()方法
common.ajax = function(param) { var mergeParam = $.extend({ timeout : 10000 } , param , { complete : function(response) { alert("扩展的!"); } } }); $.ajax(mergeParam); }
以上就是JavaScript中浅拷贝的三种方法,大家可以选择自己想用的方法套用使用哦~更多js学习推荐:js教程。