Einführung in die Funktionsweise von JavaScript?
JavaScript ist eine Skriptsprache, die innerhalb des Browsers für die Interaktion mit Schnittstellen verwendet wird. Brendan Eich war der erste, der die JavaScript-Engine für den Webbrowser Netspace Navigator bei Netspace entwickelte. Sie ist in C implementiert und ihr Codename war SpiderMonkey. Mocha war der Name, der dem Projekt ursprünglich gegeben wurde, dann wurde es in LiveScript umbenannt und schließlich, als Netspace und Sun eine Lizenzvereinbarung trafen, wurde es wieder in JavaScript umbenannt. In diesem Thema werden wir lernen, wie JavaScript funktioniert. Wir haben sicher schon von populären Engines wie V8, Spider Monkey und vielen anderen gehört. Verschiedene Engines haben verschiedene “Codenamen”, zum Beispiel:
- V8 – Engine in Opera & Chrome.
- SpiderMonkey – Engine in Firefox.
- Trident, Chakra – Engine in IE & Nitro.
- ChakraCore – Engine in Microsoft Edge.
- SquirrelFish – Engine in Safari.
Die Engine, die für Javascript verwendet wird, besteht aus zwei Hauptkomponenten:
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests & andere
- Heap-Speicher- hier findet die Zuweisung von Speicher statt.
- Aufrufstapel – dies ist der Ort, an dem die Stapel aufgerufen werden und der Code ausgeführt wird.
HINWEIS:
JavaScript ist eine Single-Thread-Programmiersprache, d.h. es hat einen einzigen Aufrufstapel und kann daher nur eine Sache auf einmal ausführen. Der Call Stack ist im Grunde eine Datenstruktur, die den Punkt im Programm aufzeichnet, der gerade ausgeführt wird. Dieser Call Stack ähnelt anderen Stacks mit der Grundfunktionalität: Wenn wir eine Funktion aufrufen, setzen wir sie an die Spitze des Stacks. Wenn wir von einer Funktion zurückkehren wollen, müssen wir den obersten Teil des Stapels wieder entfernen. Das ist die Grundfunktionalität eines jeden Stacks. Da wir über die Engines sprechen, die die JavaScript-Funktionen steuern, sind sie wirklich kompliziert, aber die grundlegenden Dinge, die jede Engine im weiteren Sinne ausführt, sind wie folgt:
- Wenn der Browser das Skript liest, ist die Engine in den Browser selbst eingebettet.
- Nach dem Lesen des Skripts konvertiert (“kompiliert”) sie das Skript in die Maschinensprache.
- Und dann läuft der Maschinencode, ziemlich schnell.
Was kann In-Browser-JavaScript leisten?
- Es ändert den vorhandenen Inhalt, modifiziert Stile, indem es neues HTML zu den Seiten hinzufügt.
- Es bietet Funktionen wie Mausklick, Maus-Hover usw., die auf die Aktionen des Benutzers reagieren.
- Senden und Empfangen von Anfragen über das Netz an entfernte Server, ohne die komplette Seite zu laden, wie der Benutzer sie eingibt. Eine solche Technologie, die sehr berühmt ist, ist AJAX.
- Damit kann man die Werte von Cookies setzen und abrufen, Nachrichten an die Benutzer für Informationen, Warnungen und andere Zwecke bereitstellen.
- Auch können temporäre Daten auf der Client-Seite gespeichert werden.
Was können In-Browser-JavaScript-Arbeiten nicht tun?
Die Fähigkeiten von JavaScript sind innerhalb des Browsers etwas eingeschränkt, um die Sicherheit des Benutzers zu gewährleisten. Damit soll verhindert werden, dass eine fremde Webseite auf private Informationen zugreift oder die Daten des Benutzers beschädigt. Einige Szenarien für diese Art von eingeschränktem Zugriff sind:
- Standardmäßig ist JavaScript auf einer Webseite darauf beschränkt, beliebige Dateien auf der Festplatte zu lesen/schreiben, sie zu kopieren oder Programme auszuführen. Es hat auch keinen direkten Zugriff auf Systemfunktionen des Betriebssystems. Einige wenige moderne Browser erlauben auch die Arbeit mit Dateien, aber auch hier ist der Zugriff eingeschränkt und nur möglich, wenn der Benutzer bestimmte Aktionen durchführt, wie z. B. das “Ablegen” einer Datei in einem Browserfenster. Einige der Möglichkeiten stehen auch für die Interaktion mit Kamera/Mikrofon und anderen Geräten zur Verfügung, aber auch dafür ist die ausdrückliche Erlaubnis des Benutzers erforderlich. So darf eine JavaScript-aktivierte Seite nicht heimlich eine Web-Kamera aktivieren oder die Informationen an einen entfernten Server oder eine dritte Partei senden.
- Unterschiedliche Registerkarten oder Fenster wissen im Allgemeinen nichts voneinander. Aber technisch ist das sehr wohl möglich. Das nennt sich dann “Same Origin Policy”. Damit dies funktioniert, müssen beide Instanzen einen speziellen JavaScript-Code enthalten, der den Datenaustausch zwischen ihnen ermöglicht. Aber die Einschränkung dient wiederum der Sicherheit der Benutzer. Zum Beispiel darf eine Webseite von URL abc.com, die ein Benutzer geöffnet hat, nicht in der Lage sein, auf eine andere Browser-Registerkarte mit der URL xyz.com zuzugreifen und heimlich Informationen zu stehlen.
- Mit ihrer Hilfe kann man über das Netz leicht mit jedem entfernten Server oder Dritten kommunizieren, von dem die aktuelle Seite stammt. Aus Sicherheitsgründen ist es jedoch nicht möglich, Daten von anderen Websites oder Domänen zu empfangen oder zu senden. Das Gleiche ist aber immer noch möglich, wofür einige JavaScript-Arbeiten die ausdrückliche Zustimmung der entfernten Seite erfordern. Eine solche Einschränkung ist nicht möglich, wenn JavaScript nicht innerhalb, sondern außerhalb des Browsers, d. h. von einem Server, verwendet wird. Sie werden auch feststellen, dass einige der modernen Browser die Installation von Plugins oder Erweiterungen erlauben, durch die JavaScript-Arbeiten, die innerhalb des Browsers verwendet werden, erweiterte Berechtigungen erhalten.
Was macht JavaScript-Arbeiten einzigartig?
- Wie wir alle wissen, ist es eine objektbasierte Skriptsprache.
- Es ist in C geschrieben. Es ist eine interpretierte Sprache.
- Reines JavaScript ist schneller im Zugriff auf DOM.
- Mit der Verwendung von JavaScript Arbeit, bekommt der Benutzer mehr Kontrolle über den Browser.
- Es kann auch Datum und Zeitstempel verarbeiten.
- Es kann auch den Browser des Benutzers und sogar das Betriebssystem erkennen.
- Es ist leichtgewichtig.
- Es ist eine Skriptsprache, wie bereits erwähnt.
- Es ist eine interpreterbasierte Skriptsprache.
- Es wird zwischen Groß- und Kleinschreibung unterschieden, d.h. die Syntax ist case sensitive.
- Es ist eine objektbasierte Sprache, da sie vordefinierte Objekte wie Java bietet, aber es ist nicht Java.
- Jede Anweisung in JavaScript muss mit einem Semikolon (;) abgeschlossen werden.
- Das Wichtigste, was JavaScript bietet, ist die Möglichkeit, neue Funktionen in Skripten zu erstellen. Man kann eine Funktion in JavaScript mit der Funktion deklarieren
- Vollständige Unterstützung für HTML und CSS.
- Es ist sehr einfach zu benutzen.
- Unterstützt alle Browser.
Einschränkungen
Neben den vielen Vorteilen hat JavaScript auch einige Einschränkungen, die im Folgenden aufgeführt sind:
- JavaScript ist auf der Client-Seite und bietet nicht die Möglichkeit, Dateien auf der Festplatte zu lesen oder zu schreiben.
- JavaScript kann nicht für Netzwerkanwendungen verwendet werden, da es keine derartige Unterstützung bietet.
- Es bietet keine Funktionalität wie Multithreading oder Multiprozessor.
Abschluss
So haben wir alle erfahren, dass es einige grundlegende Informationen über die Entwicklung von JavaScript gibt, einige der berühmten Engines, die JavaScript in Webbrowsern ausführen, welche Vorteile es hat, JavaScript in den Browsern zu halten und was passieren könnte, wenn JavaScript außerhalb der Browser platziert und ausgeführt werden könnte. Wir haben auch einige der Eigenschaften von JavaScript kennengelernt, die es nutzbar und einzigartig machen, sowie einige der Einschränkungen/Nachteile. Damit schließe ich das Thema über die Funktionsweise von JavaScript ab. Es gibt noch viele weitere Dinge zu erforschen, die Sie im Web erkunden können.
Empfohlene Artikel
Dies war ein Leitfaden für die Arbeit mit JavaScript. Hier haben wir die grundlegenden Konzepte, Einschränkungen und was macht javascript einzigartig von anderen diskutiert. Sie können auch die folgenden Artikel lesen, um mehr zu erfahren –
- Cheat Sheet JavaScript
- Verwendung von JavaScript
- JavaScript vs JScript
- C# vs JavaScript