JavaScript의 절대적인 초보자로서 나는 그것을 배울 수있는 좋은 소스를 선택해야했습니다. David Flanagan의 "JavaScript : The Definitive Guide"를 선택했으며 지금까지이 책의 모든 내용이 철저히 설명되었지만 막혔습니다.JavaScript의 적용 방법에 대한 도움이 필요합니다.
여기에 문제가 있습니다. "Functions"-> "Arguments Types"장에는 배열의 숫자 나 요소를 추가하는 함수의 예가 있습니다. 이 함수는 모든 수와 인수 (수로 변환 할 수있는 경우)를 허용 할 수 있습니다. 코드는 다음과 같이 진행됩니다
function flexisum() {
var total = 0;
for (var i = 0; i < arguments.length; i++) {
var element = arguments[i], n;
if (element == null) continue;
if (isArray(element))
n = flexisum.apply(this, element);
else if (typeof n === "function")
n = Number(element());
else
n = Number(element);
total += n;
}
return total;
}
무엇 나를 혼란 것은 재귀가 발생 라인, 난 값이 N 평가합니다 무엇을 알아낼 수 없습니다. 만약, 예를 들면, 소자 = [1,2,3], flexisum (1,2,3)은 N에 할당하지만 ... 어떻게 가변 총 경우에 그 값을 추가 할 n에는 초기 값이 없습니까?
영어가 모국어가 아니므로 충분히 명확했으면 좋겠습니다. 도움을 주시면 감사하겠습니다.
'total'의 초기 값은 '0'입니다. 아니면 'n'에 초기 값이 없다는 것을 의미합니까? 그것은 'n'이 'else'블록을 통해 값을 갖기 때문에 중요하지 않습니다. –