Как понять это код?

function sum(arr, n) {
if(n <= 0) {
return 0;
} else {
return sum(arr, n - 1) + arr[n - 1];
}
}
Я конечно не понимаю эти коды,но так ради интереса кто умеет объяснять подобные не понятные символы?

Какие символы вы имеете в виду?

Откуда взялся n?
так же не понятно что это (arr,n-1)?