ES6 함수 끝 조화 caller
752 단어 JS
function factorial(n, total=1) {
if (factorial.caller !== factorial && arguments.length >1)
throw new Error('only one param');
if (n < 3) return n*total;
return factorial(n - 1, n * total);
}
최근 에 ES6 를 공 부 했 는데 함수 꼬리 조정 이라는 새로운 특성 을 보 았 습 니 다. 함수 재 귀적 호출 에 정말 유용 합 니 다!우 리 는 재 귀적 호출 알고리즘 을 매우 간단하게 쓸 수 있다 는 것 을 알 고 있 지만 효율 이 높 지 않 지만, 만약 꼬리 조 를 사용 하면 효율 적 이다!위 는 계단 의 재 귀 미 조 이다.JS 가 단언 을 지지한다 면 더욱 간단 할 것 이다.
function factorial(n, total=1) {
if (factorial.caller !== factorial)
assert(arguments.length === 1, 'only one param');
if (n < 3) return n*total;
return factorial(n - 1, n * total);
}
메모: factorial. caler 는 arguments. caller 를 사용 할 수 없습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JS 판단 수조 네 가지 실현 방법 상세그러면 본고는 주로 몇 가지 판단 방식과 방식 판단의 원리를 바탕으로 문제가 있는지 토론하고자 한다. 예를 들어 html에 여러 개의 iframe 대상이 있으면 instanceof의 검증 결과가 기대에 부합되지 않을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.