object.prototype.toString()判断类型

Object.prototype.toString()方法返回一个代表该对象的字符串

var o  =  new Object();

o.toString(); //[object object]

toString.call(new Date);    // [object Date]
toString.call(new String);  // [object String]
toString.call(Math);        // [object Math]

// Since JavaScript ES5
toString.call(undefined);   // [object Undefined]
toString.call(null);        // [object Null]
复制代码
function extendDeep(child,parent){
 

var i,
toStr = Object.prototype.toString,
astr = "[object Array]";
child = child || {};
for (i in parent) {
if (parent.hasOwnProperty(i)) {
if (typeof parent[i] === "object") {
child[i] = (toStr.call(parent[i]) === astr) ? [] : {};
extendDeep(parent[i], child[i]);
} else {
child[i] = parent[i];
}
}
}
return child;


}
 

原文地址:https://www.cnblogs.com/haitangxun/p/6247680.html