3 Stimmen

Skriptsprache und kompilierte Sprache

Ich habe zwei Fragen:

  1. Wie erweitert Jquery/ MooTools die Syntax von Javascript? Ich meine, warum können Sie nur neue Syntax für Jquery und MooTools haben, die nicht in Javascript existiert?
  2. Da MooTools dem Benutzer erlaubt, Klassen und Vererbungen zu haben. Eine interpretierte Sprache wie diese kommt der kompilierten Sprache immer näher. Werden sie irgendwann Java (das auf der JVM läuft) ersetzen? Oder gibt es bestimmte Aspekte von Java, die eine Erweiterung auf Javascript nie erreichen wird?

Es sind vielleicht dumme Fragen, aber ich möchte wirklich einige Schlüsselwörter, um sie zu erklären.

Merci

3voto

Jim Blackler Punkte 22453

Eine Möglichkeit, mit der JQuery den Eindruck erweckt, die Sprache neu zu definieren, ist der $-Operator. Was vielleicht nicht klar ist, ist, dass $ nur eine Funktion ist, die im (globalen) Fensterbereich deklariert ist, da $ ein gültiger Variablenname in JavaScript ist:

Von der Quelle:

jQuery = window.jQuery = window.$ = function( selector, context ) {
    // The jQuery object is actually just the init constructor 'enhanced'
    return new jQuery.fn.init( selector, context );
},

1voto

Mike Park Punkte 10566

Sie sind nicht die Erweiterung der Syntax von Javascript per sagen. Sie müssen sich immer noch an alle Grammatikregeln von Javascript halten.

1voto

Håvard Punkte 9528

JQuery erweitert die Syntax von Javascript nicht - es verwendet nur einige ausgefallene Tricks wie die Verwendung der $-Variable. Die MooTools-Klassen sind in der Tat eine Klasse, die Sie instanziieren. Weder erweitern die Syntax von Javascript, nur macht es so erscheinen durch geschickte Verwendung von Variablen.

Was Ihre zweite Frage zu interpretierten und kompilierten Sprachen angeht, so ist die Antwort etwas komplizierter und würde vielleicht meinen Rahmen sprengen. Versuchen Sie Google .

1voto

Michael Borgwardt Punkte 334642

Wie funktioniert Jquery/ Moon Syntax von Javascript? Ich meine, warum können Sie nur neue Syntax für Jquery und MoonTool haben, die nicht in Javascript existiert?

Das können Sie nicht. Javascript-Syntax ist nur sehr flexibel, so dass Sie gibt es eine Menge Möglichkeiten, die Sie neue Semantik (Bedeutung/Funktionalität) zu bestehenden Syntax hinzufügen können.

Da MoonTool dem Benutzer die Möglichkeit gibt Klasse, Vererbungen. Interpretiert Sprache wie diese kommt immer näher der kompilierten Sprache. [ ] schließlich Java ersetzen (das auf der JVM LÄUFT)?

Interpretiert vs. kompiliert hat nichts mit der Syntax oder Semantik der Sprache zu tun. Außerdem sind sowohl Javascript als auch Java heutzutage in der Regel JIT-kompiliert.

Oder gibt es spezifische die eine Erweiterung auf Javascript niemals erreichen?

Statische Typüberprüfung zum einen (es sei denn, die Sprachspezifikation wird entsprechend geändert. Aber das ist höchstwahrscheinlich nicht auf vernünftige Weise möglich). Oder native Unterstützung für normale Ints.

0voto

Jeremy Punkte 21726

Bibliotheken wie jQuery und MooTools "erweitern" die JavaScript-Syntax nicht. Es ist alles legales JavaScript. Sie verwenden es nur auf eine Weise, mit der Sie nicht vertraut sind. Zum Beispiel, $ in jQuery ist nur der Name einer Variablen, da JavaScript-Variablen auch $ in ihnen.

Und nein, JavaScript ist etwas völlig anderes als Java. JavaScript i eine objektorientierte Sprache, aber es wird anders gemacht. Ich bin mit MooTools nicht vertraut, aber sie machen nichts Besonderes. Es mag den Anschein haben, als würden sie JavaScript "verändern", aber das tun sie nicht. Es macht einfach keinen Sinn, JavaScript zu kompilieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X