JavaScript: Bei der Zuweisung einer anonymen Funktion an eine variable, Funktion return Wert nicht übergeben, sondern die Funktion als string

Ich versuche zu lernen von JavaScript, aber ich bin gekommen, über eine Hürde. Wenn die Antwort ist klar und erreichbar durch eine einfach Suche ich entschuldige mich im Voraus. Ich bin ein Neuling auf Programmierung und JavaScript, und nicht sicher ist, welche Linie der Untersuchung zu Folgen.

Im folgenden code die Funktion nimmt Werte aus einem HTML-Formular, einige Verarbeitung und sendet Sie zurück. Getestet hab ich die input-und output-Prozess-und es funktioniert.

function foo() {

var x = parseInt(document.formdata.fieldone.value);
var y = parseFloat(document.formdata.fieldtwo.value);

if (isNaN(y))
    { var z = x; }
else
    { var z = function(x, y) {
            if ((y * (x / 100)) < 1) {
                return (x + Math.ceil(y * (x / 100))); }
            else if ((y * (x / 100)) > 1) {
                return (x + Math.round(y * (x / 100))); }
            else {
                return 0; } } }

var bar = document.getElementById("output");

bar.innerHTML = z; }

Das problem ist, wenn der else-Zweig der bedingten Anweisung zu verarbeiten versucht, der anonymen Funktion, in der return Wert nicht zugewiesen, sondern die Gesamtheit der Funktion als string. Das heißt, die folgenden erscheint auf der HTML-Seite:

Funktion (x, y) { if ((y * (x /100)) < 1) { return (x + Math.ceil(y * (x /100))); } else if ((y * (x /100)) > 1) { return (x + Math.round(y * (x /100))); } else { return 0; } }

Getestet hab ich den code in den Chrome-und Firefox-und das Ergebnis ist das gleiche.

Jede Hilfe ist willkommen und danke Ihnen im Voraus.

InformationsquelleAutor Omega | 2010-02-20

Schreibe einen Kommentar