当前位置: 代码迷 >> 综合 >> jQuer源码学习(二):$.isPlainObject(obj)
  详细解决方案

jQuer源码学习(二):$.isPlainObject(obj)

热度:94   发布时间:2024-01-21 14:46:25.0
			/*** 判断是否为object* @param {Object} obj*/isPlainObject: function(obj){//必须是object/*** 因为IE,我们还必须检查构造器属性,以确保节点对象和窗口对象也不能通过*/if (!obj || jQuery.type(obj) !== "object" ||  obj.nodeType || jQuery.isWindow(obj)) {return false;}try {// 如果obj没有constructor属性并且obj的原型链中没有obj返回falseif (obj.constructor && !hasOwn.call(obj, "constructor") && !hasOwn.call(obj.constructor.prototype, "isPrototypeOf")) {return false;}} catch (e) {// IE8,9 会抛出 throw exceptions on certain hostreturn false;}var key;for (key in obj) {}/*** 如果key不会被赋值则返回fasle*/return key === undefined || hasOwn.call(obj, key);},