Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Math.pow funktioniert nicht innerhalb Funktion/Schleife
Vorneweg, ich habe keinen programmiertechnischen Hintergrund und habe mir alles selber beigebracht. Insofern bitte ich um Nachsicht.
Ich spiele den online Fussballmanager Hattrick.org und habe mir in Tampermonkey ein Userscript gebastelt. Funktioniert soweit auch alles wunderbar. Sobald ich aber im Script Math.pow() oder Math.exp() verwende, funktioniert es nicht mehr. Die Frage ist warum und wie ich es lösen kann.
Das Script habe ich zur Veranschaulichung hier hochgeladen: https://jsfiddle.net/vk28a1cn/
Es geht um die Zeile 183, welche Probleme macht. Dabei spielt es keine Rolle, was für eine Basis oder Exponent drin steht. Ich habe das ganze mit einem Alert Aufruf getestet und keine Meldung erhalten. Ebenfalls keine Meldung erhalten habe ich, wenn ich das Snippet zu Beginn der Funktion Math einfügen. Füge ich es in der Funktion Preferences ein, geht es komischerweise.
Kann mir jemand weiter helfen?
Schonmal danke im Voraus.
Nein, niemals! Aber du solltest dir eine IDE suchen welche dir den Code automatisch formatiert, das wird dir eine Menge Kopfschmerzen ersparen in Zukunft.
Zu deinem Problem, wenn ich das richtig sehe definierst du "Math" als Funktion in Zeile 29, was dann natuerlich das globale "Math" Objekt ueberschreibt. Du musst deine Funktion anders benennen damit du nicht das globale Objekt mit dem selben Namen ueberschreibst.
Nein, niemals! Aber du solltest dir eine IDE suchen welche dir den Code automatisch formatiert, das wird dir eine Menge Kopfschmerzen ersparen in Zukunft.
Zu deinem Problem, wenn ich das richtig sehe definierst du "Math" als Funktion in Zeile 29, was dann natuerlich das globale "Math" Objekt ueberschreibt. Du musst deine Funktion anders benennen damit du nicht das globale Objekt mit dem selben Namen ueberschreibst.
Ich hätte da noch eine Anschlussfrage, die aber nichts mehr mit der ursprünglichen Frage zu tun hat. Wollte aber nicht extra ein Thema eröffnen (ausser, es sollte niemand antworten^^).
Und zwar habe ich einen loop und ausserhalb des loops definierte Variabeln. Wie kann ich jetzt die Werte der Variabeln "dynamisch" in den Loop holen? Die Variante aus dem Code macht ja ein String daraus, soll aber mein Problem zeigen.
Hier ein Beispiel:
Java:
var TH1 = 3;
var TH2 = 5;
var TH3 = 8;
var TH4 = 7;
var c = 1
while (c<=4) {
var TH = 'TH'+c;
alert(TH);
c++
}
Danke für die schnelle Antwort. Das eigentliche Script ist etwas komplexer als mein Beispiel oben. So pauschal wüsste ich jetzt nicht gerade, wie ich dies mit einem Array lösen sollte. Ich habe das Beispiel für ein besseres Verständnis nochmals kurz überarbeitet/erweitert. Da gibt es x Definitionen ob U21 oder NT und verschiedenste Profile die abgearbeitet werden müssten... Mein unwissendes Hirn sagt mir, dass man doch irgendwie die die beiden Teile wieder als Variable definiere könnte, damit mit dieser die Werte ausserhalb des Loops ausgelesen werden könnten.