Myślę, że to musi być łatwe pytanie, ale szukałem w pobliżu i nie znalazłem nigdzie odpowiedzi.Kiedy wykonywane są funkcje javascript
Think jest, że mam stronę HTML z niektórych skryptów (w organizmie) jak ten:
<script type="text/javascript">grf();</script>
Funkcja GRF() jest zdefiniowana w pliku .js zewnętrznych. Pytanie brzmi: czy ta funkcja jest wykonywana, gdy przeglądarka załaduje stronę I wszystkie jej zewnętrzne pliki js? Lub może być tak, że funkcja jest wykonywana przed załadowaniem plików .js? A jeśli tak, jak mogę temu zapobiec?
Dzięki za odpowiedź na pierwsze pytanie o to, kiedy funkcje są wykonywane . Na drugie pytanie wydaje się, że większość z was zgadza się, że najlepszą opcją jest użycie jQuery. Jednak zastanawiałem się, czy możliwe jest określenie, czy funkcja jest zdefiniowana (załadowana), czy nie. Na przykład mogę zrobić coś takiego, aby upewnić się, że załadowano elem: function ff() {if (! Document.getElementById ('elem')) setTimeout ('ff()', 250); // Od tego miejsca mogę użyć 'elem'} Ale czy istnieje sposób sprawdzenia, czy zdefiniowana jest funkcja? – Victor
@victor - testuj używając: if (typeof (functionName)! = 'Undefined') {// funkcja istnieje} – x0n
Jeśli nie używasz żadnych bibliotek i chcesz uruchomić kod korzystający z DOM, to najbardziej niezawodnym sposobem jest dodanie Twój tag skryptu po zamkniętym tagu body, zamiast mechanizmu odpytywania, którego używasz. –