2016-05-25 13 views
-1

Ich bin ziemlich neu in JavaScript und möchte etwas kodieren, das eine Reihe von Daten für eine bestimmte Funktion generiert. Wenn der Benutzer beispielsweise eine Regel wie y = x + 2 eingibt, hätte ich gerne eine Tabelle, die den Wert y anzeigen würde, wenn x gleich 1 - 10 ist.Gibt es eine Möglichkeit, einen Eingabe/Ausgabe-Rechner mit Javascript zu erstellen?

Gibt es das überhaupt, kann ich das tun?

+0

Schauen Sie sich den Konstruktor 'Function' an. – Barmar

+0

@Barmar: Gott nein, keine Notwendigkeit dafür. –

+0

@ T.J.Crowder Die Alternative ist das Schreiben eines Gleichungs-Parsers, oder? Nicht für Neulinge empfohlen. Sie könnten auch 'eval' verwenden, was im Grunde dasselbe ist wie das Erstellen einer Funktion. – Barmar

Antwort

0

Verwendung eval: http://www.w3schools.com/jsref/jsref_eval.asp

// Remove variable "y = " to get just the expression 
var userExpression = str.replace(/y\s*=\s*/i, document.getElementById('textbox_id').value); 

for (var i = 1; i < 11; i++) { 
    var x = i; 
    var y = eval(userExpression); 
    console.log("x: " + x + "\t y: " + y); 
} 

EDIT

Dies ist, wenn Sie es auf der gleichen Seite im gleichen Browser ausgeführt wurden. Wenn Sie den Evaluationsausdruck speichern und ihn später für andere Benutzer und Browsersitzungen zu einem späteren Zeitpunkt auswerten möchten, können Sicherheitsbedenken leicht geöffnet werden. Sie müssen also vorsichtig sein, wie Sie dies verwenden möchten.

+0

Solange Sie nur eine Benutzereingabe für * sie * verwenden, und niemals für irgendjemand anderen. –

+0

Ja, Sie sollten die Benutzereingaben nicht speichern und dann das Eval für andere Benutzer ausführen, da dies ein ausnutzbares Sicherheitsleck ist. –

Verwandte Themen