博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

JS 深度拷贝 Object Array

Posted on 2016-01-14 09:03  PHP-张工  阅读(438)  评论(0编辑  收藏  举报

JS 深度拷贝 Object Array

function cloneObj(o)
{
	var isArray = o instanceof Array;
	var isObject = o instanceof Object;
	if (!isObject) return o;
	
	var n = (isArray ? [] : {});
	for (var k in o) n[k] = cloneObj(o[k]);
	
	return n;
}

 

遇到的问题

typeof [] 结果为 object
typeof {} 结果为 object

[] instanceof Array 结果为 true
{} instanceof Object 结果为 true
[] instanceof Object 结果也为 true

说明JS中 Array 是 Object 的子类。