2017-07-02 21 views
0

帮助!我在星期二接受了采访,包括在testdome.com上的测试......我看了一些他们的“简单”javascript练习题,并且我难住了这个:如果调用时没有参数或参数未定义,Javascript函数应该会引发错误

实现确保函数,如果调用时没有参数或参数未定义,它会引发错误。否则,它应该返回给定的值。

function ensure(value) { 

} 

到目前为止,我有:

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

但是我怎么检查,如果功能被称为“不带参数或参数是未定义”?

我已经尝试了一些东西,比如:否则,如果(===“未定义”的typeof值),但似乎并没有工作......

+0

'如果(价值===未定义)安慰抛出新的错误( '信息') ;'涵盖了两种情况。 – Emissary

+1

'typeof value ==='undefined''应该完美。你为什么认为它没有? – Bergi

回答

3

你可以,如果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
function noValueException(value) { 
     this.value = value; 
     this.name = 'noValueException'; 
    } 

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

这将抛出一个异常,如果没有参数传递给函数

+1

@使者对不起,以为这个问题只是没有价值通过..现在纠正我的答案 – praveen

相关问题