Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Javascript Funktionen

Mitglied: agowa338

agowa338 (Level 2) - Jetzt verbinden

02.03.2016, aktualisiert 03.03.2016, 1364 Aufrufe, 5 Kommentare

Hallo, habe gerade mehrere schönen Javascripte per mail bekommen und frage mich gerade, was eigentlich folgendes in einem Javascript bewirkt:
01.
!function(r) {/*code*/} (this);
02.
!function() {/*code*/} ();
03.
var Variable = function() {/*code*/} ();
mir ist nur die Syntax für Funktionen bekannt.
01.
function()  {/*code*/}
Ach ja, handelt sich übrigens um ein Javascript für den Windows Skript Host, falls das was ändert...
Mitglied: 114757
LÖSUNG 02.03.2016, aktualisiert 03.03.2016
Moin.
Zitat von agowa338:
!function(r) {/*code*/} (this);
Hier wird der Funktion das aktuelle Objekt this übergeben welches dann im Funktions-Body als Variable r zur Verfügung steht, und das Ergebnis der Funktion wird dann durch das Ausrufezeichen "negiert".

!function() {/*code*/} ();
Das gleiche wie oben nur ohne Parameterübergabe an die Function.
var Variable = function() {/*code*/} ();
Hier wird das Ergebnis der Ausführung der Funktion der Variablen zugewiesen.

Die zusätzlichen Klammern nach der Funktionsdefinition bewirken einfach nur das "direkte ausführen" dieser anonymen Funktionen ohne Namen.
Der Name der Funktion ist quasi die Funktionsdefinition selber also der Teil:
function() {/*code*/}

Ausgeführt wird sie dann durch das folgende Klammernpaar
!function() {/*code*/} ()
(Rückgabewert der Funktion negieren)(Anonyme Funktion) (Ausführen)


Gruß jodel32
Bitte warten ..
Mitglied: agowa338
03.03.2016 um 10:44 Uhr
Also das Ausrufezeichen am Zeilenanfang vor einer Funktion hat keine besondere Bedeutung (wenn der Wert nicht weiter verarbeitet wird).
Bitte warten ..
Mitglied: 114757
03.03.2016, aktualisiert um 10:51 Uhr
Zitat von agowa338:

Also das Ausrufezeichen am Zeilenanfang vor einer Funktion hat keine besondere Bedeutung (wenn der Wert nicht weiter verarbeitet wird).
Wie gesagt, das Ausrufezeichen negiert den Rückgabewert der anonymen Funktion( das was die Funktion als Ergebnis via Return zurückgibt)

Z.B. Die Funktion gibt true zurück, dann wird daraus letztendlich false wegen dem Ausrufezeichen.
Bitte warten ..
Mitglied: agowa338
03.03.2016 um 10:56 Uhr
Ich meinte eigentlich, dass es keine weitere Auswirkung auf den Programmablauf hat.

Also die Zeilen bewirken das gleiche:
!function() {} ();
function() {} ();

weil hier der Rückgabewert sowieso verloren geht, oder nicht?
Bitte warten ..
Mitglied: 114757
LÖSUNG 03.03.2016, aktualisiert um 17:23 Uhr
Zitat von agowa338:
weil hier der Rückgabewert sowieso verloren geht, oder nicht?
Es kommt drauf an was die Funktion zurückgibt...das könnte z.B. auch eine weitere Function sein., das kann ich hier aber leider nicht sehen.

Siehe dazu auch folgenden Artikel
http://stackoverflow.com/questions/7586870/in-javascript-what-is-the-ad ...
Bitte warten ..
Ähnliche Inhalte
JavaScript

Werteübergabe an JavaScript Funktion

gelöst Frage von tobmesJavaScript2 Kommentare

Hi Experten, ich habe hier ein kleines Problem mit meiner JavaScript Funktion. Hier mal der Aufruf der Funktion: Hier ...

JavaScript

Javascript Funktion wird nicht "aufgerufen"

gelöst Frage von StillBadJavaScript12 Kommentare

Hallo ich möchte eine Javascript AI von Code Bullet verbessern. Ich dachte das ist eine gute Idee da ich ...

JavaScript

JavaScript Funktion innerhalb einer iFrames wird nicht ausgeführt

gelöst Frage von scoobydoo100JavaScript4 Kommentare

Hallo ! Ich habe bislang auf meiner Startseite ein paar Scripte/Funktionen eingefügt, mit welchen ich in Verbindung mit einem ...

JavaScript

JavaScript Map

Frage von tobmesJavaScript7 Kommentare

Hi, ich bins mal wider :). Ich spiele immernoch mit JavaScript herum und hänge jetzt mal wieder. Ich habe ...

Neue Wissensbeiträge
Off Topic
Europawahl 2019 - Ein Statement der Jugend
Information von Frank vor 1 TagOff Topic16 Kommentare

Dies ist ein offener Brief. Ein Statement. Von einem großen Teil der Youtuber-Szene. Am Wochenende sind die EU-Wahlen und ...

Off Topic
Europawahl 2019
Information von Frank vor 2 TagenOff Topic44 Kommentare

Vom 23. bis 26. Mai 2019 findet die Europawahl in den Mitgliedstaaten der Europäischen Union statt (ja auch in ...

Humor (lol)

Minister wollen offenbar Ausweispflicht für .de-Domain

Information von Kraemer vor 2 TagenHumor (lol)7 Kommentare

Zitat von Golem.de: Die zuständigen Verbraucherschutzminister fordern einem Medienbericht zufolge offenbar eine Ausweispflicht für .de-Domains. Das soll Betrugsfälle mit ...

Off Topic
Was als Noob hier mal gesagt werden musste
Information von th30ther vor 4 TagenOff Topic5 Kommentare

Moinsen wertes Forum, ich möchte mich an dieser Stelle mal beim Forum generell und bei aqui speziell bedanken! Ich ...

Heiß diskutierte Inhalte
Router & Routing
ZyXEL ZyWALL USG 20 Routing
Frage von Oggy01Router & Routing27 Kommentare

Hallo, und wieder habe ich ein Problem mit dem Routing. Bis vor ein paar Tagen habe ich das mit ...

Off Topic
Europawahl 2019 - Ein Statement der Jugend
Information von FrankOff Topic16 Kommentare

Dies ist ein offener Brief. Ein Statement. Von einem großen Teil der Youtuber-Szene. Am Wochenende sind die EU-Wahlen und ...

LAN, WAN, Wireless
Welches Material ist das Richtige?
Frage von Motte990LAN, WAN, Wireless12 Kommentare

Guten Morgen Leute, ich bin aktuell damit beschäftigt in unserm neu gekauften Haus das Netzwerk einzubauen. Aktuell wurden bis ...

Router & Routing
2 Server über VPN (3. Netz) verbinden mit iptables
Frage von samsillaRouter & Routing8 Kommentare

Hallo, mein Ziel ist, zwei Netzwerke (192.168.0.X und 192.168.2.X) über ein VPN (10.8.0.X) zu verbinden. Folgender Netzwerkaufbau ist gegeben: ...