JavaScript中如何递归的方式来进行复制


这篇文章主要讲解了“JavaScript中如何递归的方式来进行复制”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中如何递归的方式来进行复制”吧!
1.递归的方式来进行复制
//定义一个稍微复杂的对象
var obj = {
name: [{
name: ‘lisi’
},{
name: ‘zhang’,
age: [{
name: ‘liu’
}]
}],
age: ’90’
}
function deepClone(obj) {
//定义一个变量来存储结果
var result;
//判断传递的类型
if(obj === null || typeof obj !== ‘object’) return obj;
//处理日期对象
if(obj instanceof Date){
免费云主机域名 result = new Date();
result.setTime(obj.getTime());
return result;
}
//处理数组
if(obj instanceof Array) {
result = [];
for(var i = 0; i

result[i] = arguments.call(obj[i])
}
return result;
}
//处理对象
if(obj instanceof Object) {
result = {};
for(var key in obj) {
if(obj.hasOwnProperty(key) result[key] = arguments.callee(obj[key])
}
return result;
}
}
2.使用ES5中提供的新的API
var obj = {
name: [{
name: ‘lisi’
},{
name: ‘zhang’,
age: [{
name: ‘liu’
}]
}],
age: ’90’
}
function deepClone(obj) {
//定义一个变量来存储结果
var result;
//判断传递的类型
if(obj === null || typeof obj !== ‘object’) return obj;
//处理日期对象
if(obj instanceof Date){
result = new Date();
result.setTime(obj.getTime());
return result;
}
if(typeof obj === ‘object’) {
result = JSON.parse(JSON.stringify(obj);
return result;
}
}感谢各位的阅读,以上就是“JavaScript中如何递归的方式来进行复制”的内容了,经过本文的学习后,相信大家对JavaScript中如何递归的方式来进行复制这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云主机,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: line-height在IE9及以上版本浏览器不能垂直居中如何解决

这篇“line-height在IE9及以上版本浏览器不免费云主机域名能垂直居中如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“line-h…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/31 12:54
下一篇 03/31 12:56

相关推荐