如果在没有参数的情况下调用Javascript函数应该抛出错误,或者参数未定义

And*_*ndy 7 javascript error-handling arguments function undefined

救命!我在周二接受采访,包括在testdome.com上进行测试......我看了一些他们"简单"的javascript练习题,我对此感到难过:

实现ensure函数,以便在没有参数的情况下调用时抛出错误,或者未定义参数.否则它应该返回给定的值.

function ensure(value) {

}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我有:

function ensure(value) {
  if(value){
    return true;
  }
}
Run Code Online (Sandbox Code Playgroud)

但是如何检查函数是否被调用"没有参数或参数未定义"?

我尝试了一些东西,比如:else if(typeof value ==='undefined'),但这似乎不起作用......

Bre*_*ody 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());
Run Code Online (Sandbox Code Playgroud)


pra*_*een 5

 function noValueException(value) {
       this.value = value;
       this.name = 'noValueException';
    }

    function ensure(value) {
      if(value === undefined){
          throw new noValueException('No argument passed');       
      }else{ return value;}
    }
Run Code Online (Sandbox Code Playgroud)

如果没有参数传递给函数,这将向控制台抛出异常