[英]JavaScript 'is not a function' vs. 'expected function'?
在目前的Chrome中,如果我这样做:
var i = 'foo';
i();
我收到错误'string is not a function'
。 如果i
是一个数字,未定义等,我会得到类似的错误。
但是,从一些现实的,更复杂的代码中,有时我会看到一个不同的错误:
' 期望函数 :function(){}'
我试图弄清楚这两个错误究竟是如何不同的,或者,从另一个角度来看,如何编写一个触发“预期函数”错误的最小代码片段。
我尝试摆弄回调,并调用/应用,但没有一个触发这个。 任何人都可以解释如何重现此错误?
没有规范应该是什么错误消息。 因此,每个供应商都实现它自己的。 统一这一点的唯一方法是验证您的数据并抛出您期望的错误。
var i = 'foo';
if (!$.isFunction(i)){
throw 'expected function: function(){}';
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.