【发布时间】:2017-07-02 19:24:33
【问题描述】:
帮助!我在周二接受采访,包括在 testdome.com 上进行的一项测试……我查看了他们的一些“简单”javascript 练习题,但我被这道题难住了:
实现 ensure 函数,以便在不带参数调用或未定义参数时抛出错误。否则它应该返回给定的值。
function ensure(value) {
}
到目前为止,我有:
function ensure(value) {
if(value){
return true;
}
}
但是如何检查函数是否被“无参数或未定义参数”调用?
我尝试了一些方法,例如:else if (typeof value === 'undefined'),但这似乎不起作用...
【问题讨论】:
-
if(value === undefined) throw new Error('message');涵盖了这两种情况。 -
typeof value === 'undefined'应该可以完美运行。为什么你认为它没有? -
确保您照顾好“ ”。 if(typeof value === 'undefined') 或 if(value === undefined)。两者都会给出正确答案。
-
@Emissary 是对的。引用未提供的参数的变量的内容始终是未定义的。所以简单地使用严格相等而不在 undefined 中添加引号就可以了。
标签: javascript function error-handling arguments undefined