2013-01-12 216 views
4

如何检查一个函数没有收到参数?举例来说,我希望能够创造它接受像这样多个输入的自定义函数:Javascript检查函数参数

clear();  // clear all 
clear('a'); // clear a 
clear('b'); // clear b 
clear('c'); // clear c 
clear('d'); // clear d 

回答

7

您既可以检查一个说法是undefined

function clear(variable) { 
    if (variable === undefined) { ... } 
} 

或只需检查的数量arguments

function clear(variable) { 
    if (arguments.length === 0) { ... } 
} 
+0

比另一个更有效率还是效率更高? – JaPerk14

+1

这两者之间有细微的差别。 'clear(undefined)'将清除所有的第一个,但不是在第二个。 – zzzzBov

+0

@ JaPerk14在这里同意* zzzzBov *。除非你需要*传递'undefined'作为参数,否则第一个将会工作。否则两个变种都是一样的好。也许第二个更简单一些。 – VisioN