Timo "God's Boss" Reitz: Es funktioniert einfach nicht! (verzweifelt)

Beitrag lesen

ich hab schon alles versucht, aber es funktioniert einfach nicht. kann mir jemand helfen?

Aber natürlich.

function ma,b(Math){

ma,b ist kein gültiger Identifier. Die Verwendung von "Math" als Variablenname ist hochgradig ungünstig, da ein (globales) Objekt genauso heißt.

var m(a,b) = ""

m(a,b) ist kein gültiger Identifier.

if (a < (1/b) && a < (1/a =+ b)) {
};
else if (1/b < a && 1/b < (1/a =+ b)) {
};
else if ((1/a =+ b) < a && (1/a =+ b) < 1/b) {
};

Ein Semikolon hinter einem Block ist nicht nötig, in diesem Fall sogar schädlich - es stellt nämlich ein neues (leeres) Statement dar, wodurch die jeweiligen if-Fallunterscheidungen abgeschlossen sind und der else-Teil nur noch ein Syntaxfehler ist.

1/a =+ b

Das geht in JavaScript nicht. Bei Zuweisungen steht das, was den Wert kriegt, immer links. b+=1/a wäre erlaubt. Von Seiteneffekten in Abfragen sehe ich übrigens ab, ist aber durchaus normal.

document.write("m(a,b) ist " + m(a,b));

document.write ist grundsätzlich eine schlechte Idee. Wenn du es dann auch noch verwendest, nachdem das Dokument fertig geladen ist (wovon ich in diesem Fall mal ausgehe), wird das Dokument zerstört.

Dein Code ist so voller Fehler und Unverständnis über die Sprache, dass ich dir empfehle im http://de.selfhtml.org/javascript@title=SelfHTML-JavaScript-Kapitel ganz vorn anzufangen.

--
Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|