naked object,即是没有原型的对象。那naked object有什么意义呢?没有原型的对象可保证在其属性查找时,其可访问属性完全可控制,也就是说不用考虑它的原型对象被其他代码添加了额外的属性(ps 因为naked object没有原型对象)。
那如何创建一个naked object呢?
(方法一)
Object.create(null)。
(方法二)
对于非ie浏览器环境,可以通过字面量{ __proto__:null}创建。
(方法三)
Object.prototype对象本身就是naked object。但为了随心所欲的操作此对象,可以在iframe中得到一个独立的此类对象。