Witam,
Mam za zadanie napisać funkcję, która przyjmuje dwa parametry - będące początkiem i końcem zakresu liczb całkowitych. Następnie funkcja ta ma zwracać kolejne całkowite wartości z tego zakresu lub NaN w przypadku jego przekroczenia.
Na przykład: Dla argumentów 4 i 6 kolejne wywołania zwróconej funkcji mają zwracać 4, 5, 6, NaN.
Dla argumentów 9 i 7 kolejno będą zwracane wartości 9, 8, 7, NaN.
Napisałem taką funkcje:
function zadanie2(a, b){
var count = a;
return function(){
if(a < b){
if(count > b){
console.log("PozaZakresem");
}
else{
console.log(count);
count++;
}
}
else if(a > b){
if(count < b){
console.log("PozaZakresem");
}
else{
console.log(count);
count--;
}
}
}
}
Wywołuje ją:
var count = zadanie2(3, 5);
count(3, 5);
count(3, 5);
count(3, 5);
count(3, 5);
count(3, 5);
count(3, 5);
W rezultacie otrzymuje: 3, 4, 5, PozaZakresem, PozaZakresem, PozaZakresem
Nie wiem, dobrze rozwiązałem to zadanie? W jaki sposób ma niby "po wyjsciu z zakresu zwracac NaN"?