JS 深度拷贝 Object Array

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 的子类。

原文地址:https://www.cnblogs.com/zjfree/p/5129137.html