$ .emptyobject和$ .plainobject之间有什么区别?

时间:2016-04-22 05:30:28

标签: jquery

我想了解差异b / w 空对象普通对象

1 个答案:

答案 0 :(得分:1)

我认为您实际上是指询问$.isEmptyObject()$.isPlainObject()

$.isEmptyObject()告诉您对象是否具有无可枚举的属性,因此(从外部)看起来是"为空"。它可以是任何类型的对象。

$.isPlainObject()告诉您对象是否只是使用var x= {};var x = new Object()创建的普通Javascript对象,该对象没有其他继承且不是某种宿主对象。< / p>

普通对象可能是空的也可能不是。空对象可能是也可能不是普通对象。

例如,Javascript中的Array是一个对象,但根据$.isPlainObject(),它不是普通对象,因为它来自Object以外的其他内容。

一些例子:

$.isPlainObject([]);                     // false
$.isPlainObject({});                     // true
$.isPlainObject({greeting: "hello"});    // true
$.isPlainObject($(document));            // false

$.isEmptyObject([]);                     // true
$.isEmptyObject({});                     // true
$.isEmptyObject([1]);                    // false
$.isEmptyObject({greeting: "hello"});    // false