JS Date undefined

0

witam
Chciałem się was zapytać o pewien drobny problem.
Mianowicie w poniższym kodzie przykładowym podczas wykonywania funkcji document.write(dataPl(data1)); wyświetla mi się na końcu napis undefined(w tej samej linii co rok, miesiąc, godzina) i właśnie nie rozumiem co tam jest niby niezdefiniowane (ten kod był tylko do sprawdzenia kilku rzeczy) ?

 function dataPl(data)
{
    document.write("Rok: " + data.getFullYear() + " Miesiąc: " + miesiacPl(data) + " Godzina: " + data.getHours());
}

function miesiacPl(data)
{
    switch (data.getMonth()) 
    {
        case 0:
            return("Styczeń");
        case 1:
            return ("Luty");
        case 2:
            return("Marzec");
        case 3:
            return ("Kwiecień");
        case 4:
            return ("Maj");
        case 5:
            return ("Czerwiec");
        case 6:
            return ("Lipiec");
        case 7:
            return ("Sierpień");
        case 8:
            return ("Wrzesień");
        case 9:
            return ("Październik");
        case 10:
            return ("Listopad");
        case 11:
            return("Grudzień");
        default:
            return ("To nie jest miesiąć");
        
    }
}
var data1 = new Date();

document.write(dataPl(data1));

Dokładnie dostaje takie coś: Rok: 2015 Miesiąc: Wrzesień Godzina: 15undefined

3

document.write(dataPl(data1));
No przecież dataPl nic nie zwraca.

2

Widzisz różnicę między zwracaniem wartości a wypisywaniem czegoś w funkcji? Bo odnoszę wrażenie że nie za bardzo. Twoja funkcja dataPl WYPISUJE cośtam i NIE ZWRACA NIC. A ty teraz próbujesz WYPISAĆ wartość z tej funkcji. W efekcie funkcja w trakcie swojego wykonania wypisuje te swoje wyniki a potem nie zwraca nic i to nic ty próbujesz następnie wypisać.

0

bo chodziło mi o to żeby tylko wypisać jakieś tam dane ale żeby funkcja nic nie zwracała(taki void) bo tak np:
return "Rok: " + data.getFullYear() + " Miesiąc: " + miesiacPl(data) + " Godzina: " + data.getHours(); zwraca mi ten ciąg znaków a ja chce stworzyć taką funkcję która tylko wypisze i jej nie ma.. sorki tak się przyjrzałęm to przez przypadek napisałem document.write(dataPl(data)); zamiast samego dataPl(data)

Dzięki za szybkie uwagi :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1