我有以下代码:
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();
}