2012-03-29 17 views
-2

Gibt es irgendwelche Super-Set oder Sprache ähnlich wie JavaScript, die eine klassische C++/Java/C# -like OO-System bietet. Aber kann mit HTML-5 und DOM verwendet werden und hat eine plattformübergreifende Implementierung?OOP-Lösung für Javascript?

+2

KaffeeScript? Das wird offensichtlich zu JS kompiliert. – Aliostad

+7

Wie wäre es, wenn Sie aufhören, faul zu sein und stattdessen ein neues Programmierparadigma lernen? JS ist prototypbasierte OO-Sprache, nicht klassenbasiert. Es ist eine Schande für einen Programmierer zu fragen * "kann ich Sprache X wie Sprache Y machen, bitte?" *. –

+0

@ tereško _sigh_. Ich wollte nur eine kleine HTML-5-Leinwand-Demo machen. Schätze, es gibt keine Abkürzung. Ich muss die 2 Tage damit verbringen, Prototyp-basierte OOP zu lernen, um eine 15-minütige Demo zu machen. :( – ApprenticeHacker

Antwort

1

Ja, es heißt JavaScript. Es gibt einige gute articles about OOP around

var Parent = { 
    method: function() { 
    ... 
    } 
} 

var Child = Object.create(Parent, { 
    childMethod: { value: function() { 
    ... 
    } } 
}) 

Jeder Versuch, ein Klassensystem in JavaScript zu emulieren ist eine Verschwendung von Zeit und endet das Schreiben aufgebläht/unleserlich/wartbaren Code.

Wenn die oben zu hässlich ist, sollten Sie eine extend function

4

Sie könnten CoffeeScript einen Versuch geben.

Es kompiliert zu JavaScript, also ist es tatsächlich plattformübergreifend.

Was das Scripting betrifft, ist es auch kompatibel mit der Verwendung von HTML5-Tags, aber es ist nicht wirklich ein Problem: HTML ist die Markup-Sprache, JavaScript (oder CoffeeScript) ist die Skriptsprache. So können Sie mit CoffeeScript immer noch (HTML5) Elemente auswählen oder bearbeiten; Das Skript wird in JavaScript kompiliert und funktioniert weiterhin.

+1

Es sollte angemerkt werden, dass CoffeeScript eine Reihe von Serienproblemen damit hat und man muss gebildet werden Entscheidung über, ob es sich lohnt zu verwenden – Raynos

1

Neben dem Vorschlag mit Coffee oben zu lernen, könnten Sie ein paar Javascript-Muster ausprobieren.

Ich habe kürzlich einen Plural Screencast (Strukturierung von JavaScript-Code) beobachtet und ich wurde auf ein paar Javascript-Muster aufmerksam gemacht, aber ich mag das "Revealing Prototype Pattern".

Sehr kurz und einfach, Sie erhalten einige der Vorteile von OOP einschließlich Verkapselung et al.

Pluralsight bietet eine kostenlose 10-tägige Probezeit an, also kann man leicht mit ihm zurechtkommen.

+0

Ein "Revealing Prototype Pattern" ist wahrscheinlich schlecht für die Leistung – Raynos

+0

@Raynos Ich weiß es nicht sicher, aber der Lehrer sagte ausdrücklich, dass das Muster effiziente Leistung weise ist. Und ich habe gerade ausprobiert ein paar einfache Sachen, damit ich nichts beanspruchen kann. – scartag

+0

Wenn es Closures innerhalb einer Konstruktorfunktion enthält, dann lügt er über die Leistungseffizienz – Raynos