对象不是函数,在计算某项是否为空时出现错误
object not a function error when evalulating whether something is null
我有以下代码:
console.log(callback);
if (typeof callback != "undefined" || callback != null){
callback();
}
,控制台输出:
null
但是javascript仍然试图执行callback()函数调用。知道为什么吗?
因为它应该是&&
,即logical AND:
if (typeof callback != "undefined" && callback != null) {
callback();
}
但是我建议对"function"类型使用check:
if (typeof callback === "function") {
callback();
}
或更短:
typeof callback === "function" && callback();
try:
console.log(callback);
if (!(typeof (callback) == "undefined" || callback == null)){
callback();
}
相关文章:
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- 为什么jasmine期望不验证是否抛出了错误
- 如何知道javascript for语句中的所有结果是否都是错误的
- 是否存在Javascript Liferay Service库的文档?如何处理错误情况
- 是否排除节点中错误堆栈的第一行?/节点中的自定义错误类型
- 在动态crm 2011中,右键单击已完成活动的只读文本时,您是否出现错误
- 如果文件不存在,fs.watch是否有错误处理程序
- Facebook JavaScript SDK 检查用户是否为粉丝(错误:指定的版本无效)
- $.ajax 检查返回字符串是否为“错误”
- 检查对话框是否为 Open 会引发“初始化前无法在对话框上调用方法”错误
- Extjs 抛出错误“请验证文件是否存在”
- 我是否错误地使用了jQuery .each函数
- 如何用jQuery捕捉ajax是否得到了错误的响应类型
- JavaScript setInterval函数:是否存在错误
- 检查JavaScript中的日期时间是否相等时出现错误结果
- Node.js如何知道回调的第一个参数是否是错误处理程序
- Rect.map():文档是否错误
- 我是否错误地使用了requireJS,或者我下载的库存在严重错误
- 我是否错误地使用了eq(…)?或者这里出了什么问题
- IE7是否错误地报告了计算出的“;位置”;