Mathematische Formel als Funktionsparameter

Karli1969

New member
Hallo zusammen,

ich bastle gerade an einem Funktionsplotter.
Glücklicherweise habe ich eine Funktion im Internet gefunden, die ich als Start nehmen kann:

Was ich hier nicht verstehe: Die eigentliche Plotfunktion hat einen Parameter func, der die eigentliche Funktion enthält.
function plot(func,col,lineWidth) {...}

Die Funktion plot wird so aufgerufen:
plot((x)=>Math.tan(x),"black",2);

Es scheint kein String zu sein, der da übergeben wird, sonst wäre (x)=>Math.tan(x) ja in Anführungszeichen gesetzt.
2. Wie kann ich aus beliebigen Strings , die meine Funktion enthalten so eine Funktion zusammensetzen, dann in diese Form überführen, die ich dann der Funktion ohne Anführungszeichen übergeben kann?
Nehmen wir an, ich hätte ein Eingabefeld, wo man die gewünschte Funktion eingibt und im Script mit document.getElementById('Feldname').value abfragt,
dann erhält man ja einen String, wie z.B. tan(x).
Wäre der Parameter ein String, könnte ich ihm mir die mathematische Funktion so zusammenbauen:
funktionsparameter= "(x)=>Math." + document.getElementById('Feldname').value;
Das funktioniert aber nicht.
W
 
Schwierig das so allgemein zu beantworten. Dein Beispiel würde am einfachsten über den Indexoperator funktionieren. Ist aber die Frage, ob du das willst.
Javascript:
function test(cb){
    alert(cb(1));
}
var f = "tan";
test( x => Math[f](x));
 
Zurück
Oben