对象不是函数,在计算某项是否为空时出现错误



我有以下代码:

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();
}

相关内容

  • 没有找到相关文章

最新更新