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

时间:2017-07-02 19:24:33

标签: javascript function error-handling arguments undefined

帮助!我在周二接受采访,包括在testdome.com上进行测试......我看了一些他们“简单”的javascript练习题,我对这个问题感到难过:

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

function ensure(value) {

}

到目前为止,我已经:

function ensure(value) {
  if(value){
    return true;
  }
}

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

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

2 个答案:

答案 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;}
    }

如果没有将参数传递给函数

,这将向控制台抛出异常