jQuery.isPlainObject方法源码解析
1.简述函数功能:
--[官方描述](http://www.css88.com/jqapi-1.9/jQuery.isPlainObject/):测试一个对象是否是纯粹对象,但是
结合代码测试,个人得出该方法是用于判断不存在属性值指向函数原型的对象或者是存在属性指向函数原型但是函数原型必须是
Object.prototype,请看以下测试代码能够验证:
1).什么是纯粹对象?即是通过{}或者new Object()方式创建的对象;
2).a).noPrototype,ownNoPrototype是不具备属性指向函数原型的对象;
b).literal,hasPrototype,object,ownHasPrototype是具备属性指向Object.prototype的对象;
c).ownObject是具备属性指向自定义函数ownDef原型的对象,
d).ownConObject是constructor是自身属性的对象
3).通过以下输出结果可以断定isPlainObject函数的功能的判断依据与对象使用什么方式创建无关,而是与对象是否没有属
性指向原型,有属性指向函数原型的对象,它的函数原型是否是Object.prototype有关系;
测试代码:
var noPrototype = Object.create(null);
console.log($.isPlainObject(noPrototype));
var literal = {};
console.log($.isPlainObject(literal));
var hasPrototype = Object.create(