Heim  >  Artikel  >  Web-Frontend  >  Einfache Unterscheidung zwischen Funktion und Funktion in JavaScript

Einfache Unterscheidung zwischen Funktion und Funktion in JavaScript

高洛峰
高洛峰Original
2016-11-25 11:17:271216Durchsuche

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.

Konstruktionsmethode für Funktionsinstanzen:

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-Code

var y="global";
function constructionFunction()
{
var y="local";
var fun = new Function ( "alert(y);");//Erfasst den lokalen Bereich nicht.
fun();
}
constructFunction();



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn