【发布时间】:2020-12-14 09:07:30
【问题描述】:
如果传递的参数未定义,检查函数的最佳方法是什么?
返回值应该是:
- 如果 v 未定义,则返回 false
- 如果定义了v,如果v为真则返回真,否则返回假
function isVariableFalse(v) {
if (typeof v !== 'undefined') {
return false;
}
return v ? true: false;
}
这个问题是当传递一个未定义的变量时,我已经得到了一个错误。
例如
isVariableFalse(someUndefinedVariable)
引发此错误:
未捕获的引用错误
【问题讨论】:
-
你的条件'如果 v 已定义,如果 v 为真则返回真,否则返回假'听起来就像你只想要
v === true; -
也许你想要default parameters
-
当你将
undefined传递给它时,那个函数should not throw that error。 -
@Ivar 但抛出错误:尝试调用 isVariableFalse(some_undefined_variable);
-
您不能使用尚未声明的变量,除非您使用 try/catch:
try{isVariableFalse(some_undefined_variable);} catch() {console.log('ex'}。但你为什么要首先处理这些变量呢?
标签: javascript