Desmistificar JQuery isEmptyObject e isPlainObject

Experimente em http://jsfiddle.net/ivan_sim/N8TVV/13/

Resumindo,
$ .isPlainObject (object) retorna true se o objeto for criado usando {} ou novo Object . Caso contrário, ele retorna falso.

var obj1 = new Object;
console
.log($.isPlainObject(obj1)); // true

var obj2 = {};
console
.log($.isPlainObject(obj2)); // true

var obj3 = {var1:"val1"};
console
.log($.isPlainObject(obj3)); // true

var nullVar = null;
console
.log($.isPlainObject(nullVar)); // false

var strVar = "";
console
.log($.isPlainObject(strVar)); // false

var array1 = [1,2,3,4];
console
.log($.isPlainObject(array1)); // false

$ .isEmptyObject (object) retorna true se o objeto for um Objeto Javascript simples e tiver propriedades. Se o objeto não for um objeto Javascript , os resultados podem variar de navegador para navegador.

var obj1 = new Object;
console
.log($.isEmptyObject(obj1)); // true

var obj2 = {};
console
.log($.isEmptyObject(obj2)); // true

var obj3 = {var1:"val1"};
console
.log($.isEmptyObject(obj3)); // false

Exemplo completo em http://jsfiddle.net/ivan_sim/N8TVV/13/