使用instanceof时出现奇怪的错误

时间:2015-12-16 14:45:05

标签: javascript

我有以下代码:

jQuery(document).ready(function() {
   AjaxCalls = new AjaxCalls();
   console.log(AjaxCalls);
   if (AjaxCalls instanceof AjaxCalls) console.log("TEST");
});

当我运行此代码时,我得到以下输出:

 Object { cache: Object, cacheMaxSize: 2097152, cacheOrder: Array[0], cacheSize: 0, selfLog: Array[0], debug: true, calls: Object }
 TypeError: invalid 'instanceof' operand AjaxCalls

当AjaxCalls显然是一个函数时,为什么会收到此错误消息?

我使用的是最新版本的Firefox

1 个答案:

答案 0 :(得分:3)

您的AjaxCalls对象会被变量AjaxCalls覆盖。浏览器会抛出正确的错误。试试这个:

jQuery(document).ready(function() {
   var ajax_calls = new AjaxCalls();
   console.log(ajax_calls);
   if (ajax_calls instanceof AjaxCalls) console.log("TEST");
});