• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

zmienna statyczna w java scripcie

Cloud VPS
0 głosów
1,059 wizyt
pytanie zadane 18 stycznia 2016 w JavaScript przez ernest52 Początkujący (450 p.)
Pod spodem jest funkcja z js. ona w głównej mierze ma pokazywać czas lokalny , ale jest tam też licznik, licznik ma za zadanie , zliczanie ile dni upłynęło od początku kiedy wstawiłem js.. , ale nie umiem sprawić jak zrobić by licznik był zależny od daty i z każdym kolejnym dniem rosnoł o jeden, pierw chciałem go uzależnić od godziny, czyli kiedy godzina będzie równa 00 to licznik zwiększ o 1 , teraz próbowałem z dniem połączyć licznik , ale licznik się nie dodaje. On chyba z każdym dniem jest liczony na nowo , w c++ w takich sytuacjach stosuje się z tego co mi wiadomo static, czy istnieje w js static , jak się go używa , spróbowałem coś w stylu static var, ale nie wiem czy go dobrze użyłem. W ogóle jak sądzicie czy licznik po użyciu static będzie zwiększał się codziennie o 1 ? Jeśli nie to macie może pomysły jak to zrobić poprawnie?

Z góry dziękuję za pomoc.

 

function czas()
{
var data=new Date();
var dzien=data.getDate();
var miesiac=data.getMonth()+1;
var rok=data.getFullYear();
var godzina=data.getHours();
var minuta=data.getMinutes();
var zmienna=16;
static var licznik=1;
if(minuta<10)
    minuta="0"+minuta;
var sekunda=data.getSeconds();
if(sekunda<10)
    sekunda="0"+sekunda;

if(godzina<10)
    godzina="0"+godzina;
if(zmienna<dzien)
{
    licznik=licznik+1;
}
if(dzien<=16)
{
    licznik=licznik+1;
    
}

document.getElementById("data").value=dzien+"."+miesiac+"."+rok;
document.getElementById("godzina").value=godzina;
document.getElementById("minuta").value=minuta;

document.getElementById("sekunda").value=sekunda;
document.getElementById("dwukropek").value=":";
document.getElementById("dwukropek2").value=":";
document.getElementById("licznik").value=licznik;

setTimeout("czas()",1000);

}

2 odpowiedzi

+2 głosów
odpowiedź 18 stycznia 2016 przez Comandeer Guru (607,060 p.)
Nie ma czegoś takiego w JS. JS w takim kontekście, w jakim mówisz, zaczyna się wykonywać przy wczytaniu strony i przestaje wykonywać, gdy strona zostaje zamknięta.

W taki wypadku najlepiej po prostu określić datę i czas, od jakiego ma liczyć i wykonywać obliczenia względem tej daty.
0 głosów
odpowiedź 18 stycznia 2016 przez ernest52 Początkujący (450 p.)
ok coś w tym stylu?

var zmienna=dzien+"."+miesiac+"."+rok;

while(zmienna<="31.12.2020")
{    
    if(godzina==00)
    licznik=licznik+1;
}
komentarz 18 stycznia 2016 przez Sprytnykrzys Gaduła (3,900 p.)
w JS możesz korzystać z czasu lokalnego (ustawionego w systemie), odczytywać go, wyświetlać i wykonywać dowolne operacje. Jeśli chciałbyś coś z tych danych (po obliczeniach) zapisać, to musisz mieć gdzie - serwer i wtedy to już nie przez JS.

Jeśli nie potrzebujesz zapisywać danych na serwerze, to po prostu korzystaj zawsze z lokalnego czasu komputera.

Podobne pytania

0 głosów
1 odpowiedź 343 wizyt
0 głosów
1 odpowiedź 786 wizyt
+1 głos
1 odpowiedź 285 wizyt
pytanie zadane 1 lipca 2016 w C# przez niezalogowany

93,464 zapytań

142,459 odpowiedzi

322,730 komentarzy

62,844 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...