帮助!我在周二接受采访,包括在testdome.com上进行测试......我看了一些他们“简单”的javascript练习题,我对这个问题感到难过:
实现ensure函数,以便在没有参数的情况下调用时抛出错误,或者未定义参数。否则它应该返回给定的值。
function ensure(value) {
}
到目前为止,我已经:
function ensure(value) {
if(value){
return true;
}
}
但是如何检查函数是否被调用“没有参数或参数未定义”?
我尝试过一些东西,比如:else if(typeof value ==='undefined'),但这似乎不起作用......
答案 0 :(得分:8)
您可以检查是否value === undefined
,如果是,则抛出错误。否则返回输入值。
function ensure(value) {
if(value === undefined) {
throw new Error('no arguments');
}
return value;
}
console.log(ensure('text'));
console.log(ensure([0,1,2,3]));
console.log(ensure());

答案 1 :(得分:2)
function noValueException(value) {
this.value = value;
this.name = 'noValueException';
}
function ensure(value) {
if(value === undefined){
throw new noValueException('No argument passed');
}else{ return value;}
}
如果没有将参数传递给函数
,这将向控制台抛出异常