To add to the other answer, you could try to convert it to a plain object, although I'm not sure if this is the right approach, but it should work:
function Person(name) {
this.name = name;
}
Person.prototype.say = function() {
return this.name + ' says hello!';
};
var toPlainObject = function(x) {
var obj = Object.create(null);
for (var i in x) obj[i] = x[i];
return obj;
};
// false
// Person {name: 'John', say: function}
$.isPlainObject(new Person('John'));
// true
// Object {name: 'John', say: function}
$.isPlainObject(toPlainObject(new Person('John')));