2013-01-12 2 views
4

함수가 인수를받지 않았는지 확인하려면 어떻게합니까?Javascript check 함수 인수

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

하거나 수를 확인 : 인수가 undefined 경우

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

답변

7

확인할 수도 있고 예를 들어, 난과 같이 여러 입력을 허용하는 사용자 정의 함수를 만들 수 있도록하려면 arguments :

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

하나가 다른 것보다 효과적입니까, 아니면 효율적입니까? – JaPerk14

+1

둘 사이에는 약간의 미묘한 차이가 있습니다. 'clear (undefined)'는 처음에는 모두 지우지 만 두번째에는 지우지 않습니다. – zzzzBov

+0

@ JaPerk14 여기에 * zzzzBov *와 동의하십시오. 첫번째 인자는'undefined'를 인자로 넘겨 줄 필요가 없으면 작동합니다. 그렇지 않으면 두 변형 모두 똑같습니다. 어쩌면 두 번째가 약간 더 빠를 수도 있습니다. – VisioN