Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

11.05.2012, 16:58

Mein Javascript Framework v0.3 (In Entwicklung)

Hallo liebe Forengemeinde!
Wie einige sicher wissen, ist Javascript sehr nah an dem, was ich meine aktuelle Lieblingsprogrammiersprache nennen würde. Als anfängerfreundlich kann man JS eigentlich auch bezeichnen, allerdings gibt es einige Tücken und vor allem fehlende Funktionen, die einem am Anfang noch Kopfschmerzen bereiten.
Ich habe mich deshalb in den letzten Tagen hingesetzt und ein paar der nützlichsten Funktionen, die mir in letzter Zeit untergekommen sind oder einfach nützlich erschienen, zusammengestellt und nachprogrammiert.
Ziel des ganzen ist nicht jQuery oder andere Frameworks nachzuahmen - das schaffe ich vielleicht in zehn Jahren. Viel mehr geht es mir darum, ein paar brauchbare und einfach zu benutzende Funktionen bereitzustellen, die jeder ohne großartige Kenntnisse verwenden kann.

Funktionen
Dazu gibt es eine extra Übersichtsseite: Klick...

Installation
Lade das Script einfach im Head-Bereich deiner Seite:

Quellcode

1
<script type="text/javascript" src="http://dl.dropbox.com/u/27689533/etsframework/etsframework_0.3_c.js"> </script>


Rein theoretisch sollte es auch per Greasemonkey funktionieren: (Ungetestet!)

Quellcode

1
// @require http://dl.dropbox.com/u/27689533/etsframework/etsframework_0.3_c.js


Anwendung
Die einzelnen Funktionen werden aufgerufen über

Quellcode

1
etf.<name>(<Argumente>);

Die Namen und Argumente, die eine Funktion voraussetzt, sind der Tabelle unter "Funktionen" zu entnehmen!

Beispiele:

Quellcode

1
var fakultaet = etf.faculty(5);

Die Variable "fakultaet" enthält nun also die Zahl 120.

Quellcode

1
var primzahlen = etf.intfact(12);

Die Variable "primzahlen" ist nun also ein Array bestehend aus den Elementen "2", "2", "3".

Geplante Änderungen
  • Beschreibung zur jeweiligen Funktion in die Übersichtsseite einfügen

Andere Versionen
Unkomprimierte Version
Die oben genannte Version wurde auf etwa ein drittel ihrer ursprünglichen Größe komprimiert. Das geschieht durch Abkürzen der Variablennamen und Entfernen von Kommentaren, Umbrüchen und unnötigen Leerzeichen.

Die aktuelle, stabile und unkomprimierte Version gibt es hier: http://dl.dropbox.com/u/27689533/etsfram…ramework_0.3.js

Entwicklerversion (Nightly Builds)
Die Entwicklerversion ist nicht immer stabil oder optimal. Sie bietet nur einen Vorausblick auf die Funktionen, die in der nächsten Version auftauchen könnten.
Auch für die Aktualität der Übersicht kann ich erst nach Abschluss eines Entwicklungsschritts garantieren.

Die Entwicklerversion gibt es immer unter folgendem Link: http://dl.dropbox.com/u/27689533/etsfram…work_nightly.js
Die Funktionsübersicht dazu unter: http://dl.dropbox.com/u/27689533/etsfram…rk_nightly.html

Lizenz
Das gesamte Framework steht unter der Apache License Version 2.0:
  • Die Software darf in jedem Umfeld frei verwendet, modifiziert und verteilt werden.
  • Bei einer Verteilung muss auf den Lizenzgeber hingewiesen und eine Kopie der Apache Lizenz beigelegt werden.
  • Änderungen am Quellcode müssen nicht an das Projekt zurückgegeben werden.
  • Auf der Basis dieser Software entwickelte Software muss nicht unter der Apache Lizenz veröffentlicht werden.

Verbesserungsvorschläge, Ideen und konstruktives Feedback sind wie immer herzlichst erwünscht.
Mit freundlichen Grüßen, DerET.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »DerET« (11.05.2012, 19:48) aus folgendem Grund: Spoiler entfernt


David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

11.05.2012, 17:07

Hey,
sieht nett aus!
Kleine Anmerkung: "Fakultät" heißt auf Englisch "factorial".
"Faculty" ist die akademische Fakultät.

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

3

11.05.2012, 17:20

Ich programmiere kein Javascript, habe aber beim raschen durchschauen des Quellcodes Stellen gefunden, deren performace leicht deutlich verbessert werden kann.
Da ich wie gesagt kein Javascript programmiere, möge man mir kleinere Sytaxfehler verzeihen. ;)

Zitat

//--\\ Check if a Number is a Prime Number \\--//

Mit Wurzelziehen geht es wesentlich schneller:

var sqrtnum = sqrt(num);
for (var i = 2; i < sqrtnum; i++) {


In "//--\\ Get Next Prime Number \\--//" und "//--\\ Get Next Prime Number \\--//" kannst du es genauso machen.

Zitat

//--\\ Least Common Multiple \\--//

Ich verstehe nich ganz was du dort rechnest.
Es geht jedenfals auch direkt:
return (num1 * num2) / this.gcdivisor(num1, num2);

4

11.05.2012, 18:21

Hey,
sieht nett aus!
Kleine Anmerkung: "Fakultät" heißt auf Englisch "factorial".
"Faculty" ist die akademische Fakultät.

Hehe - das kommt wohl davon, wenn man das nur schnell in den Übersetzer eingibt.

@Spiele Programmierer:
Danke für die Ratschläge und wenn du es sagst, sehe ich es auch ein. Ich baue es gleich so um. ;)
Das kleines gemeinsame Vielfache hab ich mit der Hilfe einer Website zusammen gefrickelt - noch vor dem größten gemeinsamen Teiler.

Edit: Bist du sicher, dass das mit der Wurzel klappt? Immerhin wäre bei einer vier die Wurzel zwei, es prüft also gar nicht erst und winkt die vier durch...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »DerET« (11.05.2012, 18:53)


Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

5

11.05.2012, 18:56

Es müsste auch

Quellcode

1
i <= sqrt
sein.
Dann ist auch die 4 keine Primzahl mehr ;)

6

11.05.2012, 19:47

Da hätte ich eigentlich auch drauf kommen müssen. :dash:
Aber zumindest haut's jetzt hin - Danke dafür!

Werbeanzeige