horachorus: Es funktioniert einfach nicht! (verzweifelt)

Hallo!

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

  
function ma,b(Math) {  
  
var a = parseFloat(document.Werte.a.value);  
var b = parseFloat(document.Werte.b.value);  
var m(a,b) = ""  
  
  
 if (a < (1/b) && a < (1/a =+ b)) {  
  
  var m(a,b) = a;  
  
  document.write("m(a,b) ist " + m(a,b));  
 };  
  
  
  
 else if (1/b < a && 1/b < (1/a =+ b)) {  
  
  var m(a,b) = 1/b;  
  
  document.write("m(a,b) ist " + m(a,b));  
 };  
  
  
  
 else if ((1/a =+ b) < a && (1/a =+ b) < 1/b) {  
  
  var m(a,b) = (1/a =+ b);  
  
  document.write("m(a,b) ist " + m(a,b));  
 };  
  
}  
  
  
</script>  

danke schon mal im voraus!

  1. var a = parseFloat(document.Werte.a.value);
    var b = parseFloat(document.Werte.b.value);
    var m(a,b) = ""

    Ich kann zwar kein JavaScript aber müsste hier nicht normal ein ; sein nach der unteren Codezeile?

    gruß mk

  2. Hallo!

    Was Du da schreibst ist definitiv kein JavaScript. Dass es nicht funktioniert, liegt daran, dass Du den JavaScript-Interpreter mit fehlerhaftem Code fütterst.

    Wenn ich es richtig verstehe, willst Du auf Werte, die Du aus Input-Feldern im Formular "Werte" einliest, eine Formel anwenden und das Ergebnis wieder ins Dokument zurückschreiben.

    Warum Du das nicht einfach machst, ist mir ein Rätsel: function ma,b(Math) ist keine valide Funktionsdeklaration. Der Zeile var m(a,b) = "" fehlt nicht nur das Semikolon, sondern sie ist auch inhaltlich völliger Blödsinn.

    Lese bitte das Kapitel über JavaScript noch einmal langsam und sorgfältig durch. Einzelne Kapitel zu überspringen, weil "ich das ja schon kenne", wird Dich nicht weiterbringen. Dann definiere Dein Ziel und finde den einfachsten Weg, es zu erreichen.

    Frohe Feiertage!
    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
  3. 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:|
    1. vielen dank für alles, es funktioniert zwar, aber ihr habt wohl recht, ich fange noch mal ganz von vorne an.

      also nochmals vielen dank!

      1. vielen dank für alles, es funktioniert zwar, aber ihr habt wohl recht, ich fange noch mal ganz von vorne an.

        Was funktioniert?

        Darf man fragen, was die Funktion überhaupt machen soll? Aus dem fehlerhaften Code kann ich es nicht wirklich erraten.

        --
        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:|