Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Javascript Lerngrundlagen und Websites
#4
(08.08.2023, 13:28)rzscout schrieb: Taschenrechner können sehr komplex Ausfallen und deren Code natürlich auch.

Das Problem ist, dass es ja die Hausaufgabe eines Lehrers ist. Der geht wsl. noch von alten Beispielen aus. Damals war es üblich für die Eingabe, aber auch für die Ergebnisausgabe input-Elemente zu verwenden. So konntest du in das "Textfeld" des Taschenrechners die Rechnung eintippen und dann mit eval() auswerten.

selfhtml.org/wiki/JavaScript/eval

Beides ist heute verpönt, da es die Tür zum Missbrauch weit aufreißt: Du könntest jeden JS-Code eingeben und eval() würde es ausführen.

Das Beispiel bei SELFHTML zeigt nur, wie's heute geht und scheint ziemlich auf den ersten Blick ziemlich kompliziert. Man müsste den IE-Polyfill entfernen und die input-Funktion erklären. Im Live-Bespiel ist sie drin, aber eben im Tutorial nicht erläutert.

Herzliche Grüße
Matthias

PS: Hier der alte Code, den man heute so NICHT MEHR schreiben würde:

Code:
function Check (Eingabe) {
  var nur_das = "0123456789[]()-+*%/.";
  for (var i = 0; i < Eingabe.length; i++)
    if (nur_das.indexOf(Eingabe.charAt(i)) < 0)
      return false;
  return true;
}

function Ergebnis () {
  var x = 0;
  if (Check(window.document.Rechner.Display.value))
    x = eval(window.document.Rechner.Display.value);
  window.document.Rechner.Display.value = x;
}

function Hinzufuegen (Zeichen) {
  window.document.Rechner.Display.value = window.document.Rechner.Display.value + Zeichen;
}

function Sonderfunktion (Funktion) {
  if (Check(window.document.Rechner.Display.value)) {
    if (Funktion == "sqrt") {
      var x = 0;
      x = eval(window.document.Rechner.Display.value);
      window.document.Rechner.Display.value = Math.sqrt(x);
    }
    if (Funktion == "pow") {
      var x = 0;
      x = eval(window.document.Rechner.Display.value);
      window.document.Rechner.Display.value = x * x;
    }
    if (Funktion == "ln") {
      var x = 0;
      x = eval(window.document.Rechner.Display.value);
      window.document.Rechner.Display.value = Math.log(x);
    }
  } else
    window.document.Rechner.Display.value = 0}
Zitieren


Nachrichten in diesem Thema
RE: Javascript Lerngrundlagen und Websites - von Staufer - 09.08.2023, 08:52

Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste