허용됩니다. 일반적으로 좋은 인수 이름을 지정한 다음 가독성과 온 전성을 위해 null인지 여부를 확인하는 것이 좋습니다. 코드를 읽는 사람들은 그 기술을 기대하거나 이해하지 못할 것입니다.
허용되는 경우가 있습니다 ... 예 :
function add(){
var sum = 0;
for (var i = 0; i < arguments.length; i++){
sum += arguments[i];
}
return sum;
}
그러나이 경우에도 독자를 위해 자리 표시 자 변수 이름을 추가하는 것이 좋습니다.
function add(val1, val2, etc){
var sum = 0;
for (var i = 0; i < arguments.length; i++){
sum += arguments[i];
}
return sum;
}
-------------------적법한. 추악하지만 합법적입니다.
-------------------추악하지만 jQuery와 같은 많은 자바 스크립트 프레임 워크에서도 사용됩니다. 어떤 용도로 사용하면 분명한 이점이 있지만 다음과 같은 일반적인 규칙을 따릅니다.
- 일부 (알려진) 인수가 선택 사항이기 때문에 사용하지 마십시오. 대신 인수의 이름을 지정하고 (또는 대신 개체를 인수로 사용) null 또는 undefined에 대한 인수 (또는 개체의 속성)를 명시 적으로 확인합니다.
- 메서드가 잠재적으로 알려지지 않은 / 무한한 수의 인수를 취할 수있는 것이라면이 접근 방식을 사용하는 것이 합리적 일 것입니다. 예를 들어 어떤 이유로 든 사용자 지정 concat () 메서드를 만드는 경우 인수
- 당신이 경우 않는 사용, 따라 혼동 될 수있는 코드의 부분을 언급, 특히, 당신은 코멘트 / 문서에 함수가 호출되는 방법 싶어
또 다른 대안은 배열을 단일 인수로 전달하고 그 내용 또는 객체 (이름 값 쌍)를 반복하여 관심있는 인수를 전달하고 다른 인수를 무시하는 것입니다. 나는 객체를 전달하는 것을 선호합니다.
-------------------합법적이지만 스타일 문제로 피할 것입니다. 일반적으로 인수를 선언하는 것이 더 나은 아이디어입니다. 이렇게하면 함수의 의미를 더 분명하게 만들 수 있습니다. 함수 이름과 인수 목록을보고 함수의 목적에 대한 아이디어를 얻을 수 있습니다.
arguments
단일 선택적 매개 변수가 아니라 완전히 가변 길이 인수 목록 에 대한 배열 사용을 예약합니다 .
출처
https://stackoverflow.com/questions/2002853