Zmiana wartości zmiennej w funkcji js

0

Mam taki skrypt w js:

Kopiuj
<script type="text/javascript">
var a = false;

function zmien(){
a = true;
}

alert(a);

</script>

Na stronie wywołuję funkcję zmien takim kodem:

Kopiuj
<img src="/button.jpg" onload="javascript:zmien()" />

Mógłby mi ktoś wytłumaczyć dlaczego a wyświetla się cały czas jako false?

1

Zakładając, że <script /> jest w <head /> a <img /> w <body />: alert() wykonuje się w momencie załadowania skryptu natomiast zmiana wartości a dzieje się po zdarzeniu onload na obrazku. Czyli najpierw wykonuje się alert później onload.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.