online 1
gast (50)

/ Forum / Webseiten/HTML

Webseiten/HTMLWebseiten/HTML

Fragevon rabies vom 22.01.2019, 17:55 Options

Eingebettetes JavaScript, Verständnisproblem

Nabend zusammen,

Ich bin auf ein etwas komisches Konstrukt gestoßen, das bei mir zu leichten Verständnisproblemen führt.

JavaScript XY wird erst einmal ganz normal in eine HTML-Datei eingebettet. Das sieht dann ungefähr wie folgt aus:

<script type="text/javascript" src="http://www.domain.tld/path/to/script.js"></script>


Das Script (das mir Kopfzerbrechen bereitet), sieht ungefähr wie folgt aus:


(
  function() {

    eineFunktion() {
      // tue irgendetwas.
      nochEineFunktion();
    }

    nochEineFunktion() {
     // tue irgendetwas anderes.
    }

    eineFunktion();

  }
)()


Was bewirkt hier diese Klammer am Anfang? Und das Klammernkonstrukt am Ende?

Ich hab´ schon SelfHTML herbemüht -- leider lässt sich über dieses Verfahren nicht wirklich etwas finden. Kann mir jemand etwas über dieses Verfahren sagen? Oder zumindest Schlagwörter nennen, nach denen man passend suchen könnte? Bisher war ich erfolglos.

Grüße,
rabies.


Antwort schreiben

Antwort 1 von rfb vom 22.01.2019, 21:27 Options

Schlagworte "JSON" und "unobstrusive JavaScript"

Antwort 2 von rabies vom 22.01.2019, 22:05 Options

Nach langem Herumgooglen und diversen Versuchen mit dem Konstrukt

(
  function() {
	// irgendwelcher Code.
  }
)()


scheint es für mich nun so, dass in dem ersten Klammernpaar (samt der Funktion; die scheint ein Muss zu sein) ein Ausdruck steht und das zweite Klammernpaar einzig und allein dazu da ist, den Ausdruck im ersten Klammernpaar auszuführen. Kann man das ungefähr so sagen?

Antwort 3 von rfb vom 22.01.2019, 22:28 Options

so ungefähr mag das stimmen. Das Klammerpaar am Ende bewirkt dass der Inhalt der anonymen Funktion ausgeführt wird.
Das ganze sorgt also dafür, dass etwas zwar sofort erledigt wird, so als ob der Inhalt dort ohne Klammern stünde, aber dennoch alles unobstrusive - hier: ohne andere Funktionen zu stören - lokal abläuft.
Eine abgekürzte Schreibweise also für ungefähr dies:

function tuwat() {

eineFunktion() {
// tue irgendetwas.
nochEineFunktion();
}

nochEineFunktion() {
// tue irgendetwas anderes.
}

eineFunktion();
}
tuwat();

Antwort 4 von rabies vom 22.01.2019, 22:39 Options

Okay, danke Dir. :)

Ähnliche Themen

Javascript
tomkat  08.07.2007 - 200 Hits - 2 Antworten

javascript:void(0);
Flashback2581  12.08.2007 - 774 Hits - 3 Antworten

javascript
börny  15.11.2007 - 123 Hits - 5 Antworten

eingebettetes diagramm bearbeiten per VBA
seebaer_1  18.12.2007 - 115 Hits - 2 Antworten

wie macht man mit Javascript aus vorher festgelegten wörtern links?
nympseudo  06.07.2008 - 124 Hits - 10 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026