0

我有以下代码:

console.log(callback);
if (typeof callback != "undefined" || callback != null){
  callback();
}

控制台打印出来的地方:

null

但 javascript 仍在尝试执行 callback() 函数调用。知道为什么吗?

4

2 回答 2

1

因为它应该是&&,即逻辑与

if (typeof callback != "undefined" && callback != null) {
    callback();
}

但我建议使用检查类型“函数”:

if (typeof callback === "function") {
    callback();
}

甚至更短:

typeof callback === "function" && callback();
于 2013-04-22T16:35:05.853 回答
0

尝试 :

console.log(callback);
if (!(typeof (callback) == "undefined" || callback == null)){
  callback();
}
于 2013-04-22T16:39:19.643 回答