isPlainObject这个方法比较深, 因为对象的组合方式太灵活了 , 原型链我理解也不到位(下篇博文一定得学习一下), 兼容性有关的东西又太多了, 而且”纯对象”这东西太抽象
这篇博客里存疑比较多 , 先把能看懂的星系简单记一下, 以后返工是肯定的了…
从这个函数学到好些东西:
1.DOMObj.nodeType : Dom对象才有这个属性(IE低版本里没有), 比如说body是1
2.for in 遍历的顺序 : 结论是先遍历父类属性, 后遍历子类属性
3.hasOwnProperty只查询实例的属性, isPrototypeOf会查询原型链上constructor的指向(可以查询多层)
一:测试示例:
|
|
二:源码
二.1:for in遍历顺序问题
|
|
二.2:用hasOwnProperty检测实例属性
|
|
二.3:用isPrototypeOf检查原型链上的属性
|
|
三: 存疑很多的源码阅读…
|
|