我想从变量调用函数内联,但是在变量为null / undefined或者不是函数时尊重这种情况。
var f;
if(typeof(f) == 'function') {
f(); // don't get executed
}
f(); // this is of course not working, but it is executing
var fn = function() { console.warn('fn'); }
fn(); // working because fn is a function
基本上我想要if语句,在一行中检查变量是否是函数。
我看到了这一点,并认为有一些未定义/非功能的东西:
var screenSize = screen.width || 1024;
答案 0 :(得分:1)
您可以使用逻辑AND:
typeof f === 'function' && f();
第二个运算符仅在第一个运算符是完整的时才进行评估。