toString javascript

0

Ten kod oczywiście działa, ale nie rozumiem w nim paru rzeczy. Sprawdziłem w dokumentacji do czego słuzy toString i okej, fajnie. Nie rozumiem jednak co ta metoda robi w tym kodzie i dlaczego występuje razem ze zmienna level. Poza tym nie rozumiem też dlaczego jest dwa razy po plusach zmienna hex. Nie rozumiem też dlaczego metoda setTimeout zostaje wywołana dwa razy? Wszystko inne wydaje mi się jasne.

<script type="text/javascript">
var fade = function(node){
		var level = 1;
		var step = function(){
		var hex = level.toString(16);
				node.style.background = '#FFFF' + hex +hex;
					if (level<15)
						{
							level += 1;
							//setTimeout(step,3000);
						}
					};
					
					setTimeout(step,3000);
};
fade(document.body);
</script>
1

Funkcja co 3 sekundy rozjaśnia kolor tła.
level to poziom rozjaśnienia który co wywołanie funkcji zwiększa się, o ile jest mniejsze od 15 (15 to max dla szesnastkowych).
level jest zmieniany na szesnastkowy string (właściwie 1 literę) z którego robimy string określający kolor szesnastkowo i ustawiamy jako tło.

jeżeli level ==0 wtedy
hex ==0
node.style.background == '#FFFF00';

jeżeli level ==15 wtedy
hex ==15
node.style.background == '#FFFFFF';

Metoda setTimeout jest wywołana tylko raz (drugi jest za komentowany).

0

Okej, a czemu jest dwa razy hex tzn. +hex +hex?
Całą resztę już chyba rozumiem.

Okej, już wszystko kumam;

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