이제 인수가 JavaScript 함수에 전달되었는지 확인하는 두 가지 방법을 보았습니다. 한 방법이 다른 방법보다 낫거나 사용하기가 나쁜지 궁금합니다.
function Test(argument1, argument2) {
if (Test.arguments.length == 1) argument2 = 'blah';
alert(argument2);
}
Test('test');
또는
function Test(argument1, argument2) {
argument2 = argument2 || 'blah';
alert(argument2);
}
Test('test');
내가 알 수있는 한, 둘 다 동일한 결과를 얻지 만 생산에서 처음 하나만 사용했습니다.
Tom이 언급 한 다른 옵션 :
function Test(argument1, argument2) {
if(argument2 === null) {
argument2 = 'blah';
}
alert(argument2);
}
Juan의 의견에 따라 Tom의 제안을 다음과 같이 변경하는 것이 좋습니다.
function Test(argument1, argument2) {
if(argument2 === undefined) {
argument2 = 'blah';
}
alert(argument2);
}
argument2 || 'blah';
경우 'ㅋ'가 발생합니다 argument2
입니다 false
,이 정의되어 있지 단순히 경우 (!). 경우 argument2
부울이며, 함수가 전달됩니다 false
그것을 위해, 그 라인에도 불구하고 'ㅋ'를 반환합니다 argument2
제대로 정의되고 .
argument2
이다 0
, ''
또는 null
.