Ich muss hier etwas verpassen, denn Math.prototype
ist undefined für mich . Warum ist das? Ich habe versucht, so etwas zu tun:
Aber stattdessen musste etwas wie folgt gemacht werden:
%Vor%Das fühlt sich jedoch nicht richtig an. Ist es nur ich oder sollte ich das anders machen? Ich entschuldige mich, wenn das eine dumme oder doppelte Frage ist, aber ich konnte nichts durch Suchen finden (genau zwei Fragen tauchen auf, wenn ich SO nach "Math.prototype" suche, was irgendwie komisch ist).
Die Math
-Funktionen sind wie Klassenfunktionen in anderen OO-Sprachen. Es gibt kein Prototyp-Objekt im Konstruktor; niemand (ich weiß) verwendet den Konstruktor trotzdem. (Was würden Sie mit einer Math
Instanz tun?)
edit - es wurde in einem Kommentar darauf hingewiesen (und es kam mir nie in den Sinn, das zu überprüfen, denke ich), dass Math
sowieso keine Funktion ist. Geben Sie Math()
in Ihre Browser-Konsole ein und Sie erhalten eine Fehlermeldung.
Math
in JavaScript entspricht einer statischen Klasse in anderen Sprachen. Es hat keinen Prototyp oder Konstruktor (das Äquivalent von sagen wir, eine Klasse in Java mit allen statischen Methoden und nur einem privaten Konstruktor schreiben).
Weitere Informationen finden Sie in dieser StackOverflow-Frage: Gibt es eine praktische Möglichkeit, Math.constructor in JavaScript / ActionScript neu zu definieren?
Insbesondere die akzeptierte Antwort: Ссылка
Weil Math ein statisches Objekt ist, kein Konstruktor. Wenn Sie new Math()
Tags und Links javascript math prototype