[geavanceerd] Javascriptfunctie direct laten uitvoeren, 2 syntaxen
Door
Fromzon ngl
op 06-01-2011 19:44
gewijzigd op 06-01-2011 19:52
3.098 views
Wat zijn de fundamentele technische verschillen tussen volgende 2 schrijfwijzes, in het HEAD-gedeelte van de pagina:
(function() {
alert("Welkom op onze website - syntax 1");
})();
function init() {
alert("Welkom op onze website - syntax 2");
};
YAHOO.util.Event.addListener(window, "load", init);
De effectieve code (op de plaats waar ik hier de alerts getypt heb) werkt wel als ik de functie-syntax van het 2de voorbeeld gebruik, maar niet in de functie-syntax van schrijfwijze 1.
De alerts worden echter wèl in beide functies uitgevoerd.
@ Wim
Heel hard bedankt, jij hebt mijn probleem opgelost :-)
Het was namelijk zo dat ik dus 2 grote code-blokken had ( binnen die 2 verschillende syntaxen uit mijn voorbeeld ).
En ik kreeg de 2 code-blokken maar niet bij elkaar gezet omdat 1 van de 2 blokken niet meer werkte.
Nu heb ik die 2 code-blokken binnen jouw JQuery functie geplaatst, en nu werken ze wel gelijktijdig, en nu kan ik ze in elkaar gaan laten smelten.
Heel hard bedankt, toch nog 2 mensen ( Thomas en jij ) die een fatsoenlijk antwoord kunnen geven :-)
EDIT: ik zie net dat je jouw post gewijzigd hebt en het antwoord dat me geholpen heeft, eruit hebt gehaald, waarom?
Maar ik heb het al in mijn webpagina staan dus geen probleem :-)
Wat bedoel je met 'effectieve code'? En mocht je hiermee het definieren van dingen bedoelen, komt dat waarschijnlijk doordat die definities alleen in de scope van die constructie beschikbaar zijn.
Wat bedoel je met 'effectieve code'? En mocht je hiermee het definieren van dingen bedoelen, komt dat waarschijnlijk doordat die definities alleen in de scope van die constructie beschikbaar zijn.
De code in mijn JS-bestand is 200 lijnen lang, dus voor het principe, had ik gewoon deze code vervangen door de "alert" functie in mijn voorbeeld hier, omdat de vraag en het topic gingen over de syntax die errond staat.
Die 200 lijnen die je dus niet ziet, noemde ik de "effectieve code".