Hinweis: Function.prototype ist ein Wert vom Funktionsdatentyp, aber die zugehörigen Operationen sind genau die gleichen wie zuvor –>Leer/anonym
Die Funktion selbst wird auch einige eigene Eigenschaften haben:
Länge: die Anzahl der formalen Parameter
Name: „Fn“-Funktionsname
Prototyp der Prototypklasse, die im Prototyp definierten Methoden sind alle öffentliche Methoden der aktuellen Fn-Klasseninstanz
__proto__ behandelt die Funktion als gewöhnliches Objekt und verweist auf den Prototyp der Function-Klasse
Funktion ist das komplexeste und wichtigste Wissen in das gesamte JS:
1. Eine Funktion hat mehrere Aspekte:
„Gewöhnliche Funktion“: Es ist eine Während der Ausführung wird ein privater Bereich (Abschluss) gebildet, eine formale Parameterzuweisung, eine Vorinterpretation, eine Codeausführung und der Stapelspeicher wird nach Abschluss der Ausführung zerstört/nicht zerstört
" Klasse ": Sie verfügt über eine eigene Instanz und ein Attribut namens Prototyp, das ihr eigener Prototyp ist. Ihre Instanzen können auf ihren eigenen Prototyp verweisen
"Gewöhnliches Objekt": Genau wie obj in var obj = {} ist es ein gewöhnliches Objekt. Als Objekt kann es über eigene private Attribute verfügen und auch durch gefunden werden __proto__ Function.prototype
Es gibt keine notwendige Beziehung zwischen diesen drei.
function Fn(){var num = 500;this.x = 100; } Fn.prototype.getX = function(){ console.log(this.x) } Fn.aaa = 1000;var f = new Fn; f.num //undefinedf.aaa//undefinedvar res = Fn(); res//undefinedFn.aaa//1000
Das obige ist der detaillierte Inhalt vonEinführung in die drei Rollen von Funktionen in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!