Heim >Web-Frontend >js-Tutorial >Einfache Unterscheidung zwischen Funktion und Funktion in JavaScript
Js-Code
var a = new Function("document.write(a)");
var b = function(){document.write(b);}
function c(){
document.write(c);
}
b();
Ergebnisse nach der Ausführung Für: abc
Die beiden letztgenannten Definitionsmethoden werden häufiger verwendet, wobei die Variable b ein Verweis auf eine anonyme Funktion und c eine Funktion ist, der ein Funktionskörper zugewiesen ist.
Erstellen Sie bei der ersten Methode eine Zusammenfassung, nachdem Sie einige Informationen gesucht haben.
Funktion ist die Funktion von Javascript (beachten Sie die Groß-/Kleinschreibung), die davon abgeleitet ist. Funktion ist ein Referenztyp (Funktionen sind natürlich Referenztypen). Persönliche Spekulationen ähneln der zweiten Art anonymer Funktionsreferenzen.
var instanceName = new Function([arg1 [, arg2 [, ...]] ,] body);
Die ersten paar Elemente sind Parameter und das letzte ist die Funktion Körper, wie zum Beispiel:
Js-Code
var myAdd = new Function("x", "y", "return x + y"); >
Ausführen Der Wert der Endsumme beträgt 51. Der
Function()-Konstruktor ermöglicht es uns, eine Funktion dynamisch zu erstellen und zu kompilieren, ohne uns auf den vorkompilierten Funktionskörper der Funktionsanweisung zu beschränken. Der Nebeneffekt davon ist, dass der Function()-Konstruktor bei jedem Aufruf einer Funktion diese kompilieren muss. Daher sollten wir diesen Konstruktor nicht häufig in Schleifenkörpern oder in häufig verwendeten Funktionen aufrufen.
Anonyme Funktionen ähneln dem Function()-Konstruktor; der Unterschied besteht darin, dass die anonyme Funktion bei ihrer Verwendung nur einmal analysiert wird, während der an den Function()-Konstruktor als String übergebene JavaScript-Code jedes Mal erstellt wird Jede Funktion muss einmal analysiert und kompiliert werden.
Eine weitere erwähnenswerte Sache ist, dass der Gültigkeitsbereich von Variablen und der Variablenbereich des Function()-Konstruktors global sind.Zum Beispiel:
Js-Codevar y="global";
function constructionFunction()
{
var y="local";
var fun = new Function ( "alert(y);");//Erfasst den lokalen Bereich nicht.
fun();
}
constructFunction();