JavaScript'不是'功能'与'预期功能'?

时间:2013-05-17 18:48:27

标签: javascript

在当前的Chrome中,如果我这样做:

var i = 'foo';
i();

我收到错误'string is not a function'。如果i是数字,未定义等,我会得到类似的错误

但是,从一些现实的,更复杂的代码中,有时我会看到不同的错误:

  

'预期功能:function(){}'

我试图弄清楚这两个错误究竟是如何不同的,或者,从另一个角度来看,如何编写一个触发“预期函数”错误的最小代码片段。

我尝试摆弄回调,并调用/应用,但没有一个触发这个。任何人都可以解释如何重现这个错误吗?

1 个答案:

答案 0 :(得分:0)

没有规范应该是什么错误消息。因此,每个供应商都实现它自己的。统一这一点的唯一方法是验证您的数据并抛出您期望的错误。

var i = 'foo';

if (!$.isFunction(i)){
    throw 'expected function: function(){}';
}