这个错误通常是由于使用 null 或 undefined 作为对象的原型导致的。要解决这个问题,必须确保对象的原型是一个有效的对象。
以下是一个示例代码,展示了如何避免这个问题:
function Foo() {} Foo.prototype = Object.prototype; var foo = new Foo(); console.log(foo instanceof Foo); // true
通过将 Foo.prototype 设置为 Object.prototype,我们确保了该对象具有有效的原型。这样,我们就可以在 instanceof 检查中使用 Foo() 了,而不会引发上述错误。