Heim > Artikel > Web-Frontend > Definition, Aufruf und Probleme, auf die bei JavaScript-Funktionen geachtet werden sollte
In diesem Artikel werden hauptsächlich die Definition von JavaScript-Funktionsaufrufen und Vorsichtsmaßnahmen vorgestellt. Freunde in Not können sich auf
Funktionsdefinition
Funktionsanweisungsdefinition
function(a,b){ return a+b; }Ausdrucksdefinition
var add = function(a,b){return a+b};//Funktionsausdrücke können Namen enthalten, die bei Rekursion sehr nützlich sind. var f = function fact(x){ if(x<=1) {return 1; }else { return x*faxt(x-1 } }Funktion als Ausdruck definiert, der Name der Funktion ist optional. Wenn der Funktionsdefinitionsausdruck einen Namen enthält, enthält der lokale Gültigkeitsbereich der Funktion einen an das Funktionsobjekt gebundenen Namen. Tatsächlich wird der Name der Funktion zu einer lokalen Variablen innerhalb der Funktion
Spezifikationen zur Funktionsbenennung
1.like_this()Das erste Zeichen ist ein Kleinbuchstabe. Wenn es mehrere Wörter enthält, werden die Wörter durch Unterstriche getrennt2.likeThis()Das erste Zeichen ist Kleinbuchstaben: Wenn mehrere Wörter enthalten sind, verwenden die ersten Buchstaben der Wörter außer dem ersten Wort Universitätsbuchstaben 3. Internen Funktionen oder privaten Funktionen wird normalerweise ein Unterstrich vorangestellt Hinweis: Funktion The Die Deklarationsanweisung wird an den Anfang des externen Skripts oder der externen Funktion gestellt, sodass sie durch Code aufgerufen werden kann, der vor ihrer Definition erscheint. Bevor eine Funktion als Ausdruck definiert wird, muss sie einer Variablen zugewiesen werden. Daher können im Ausdrucksmodus definierte Funktionen nicht vor der Definition aufgerufen werdenFunktionsrückgabewert
Verschachtelte Funktion
Funktionsaufruf
Als Funktion call
add(1,2)
var strict = (function(){return this;}());
var o = { m:1, n:2, add:function(){ this.result = this.m+this.n; } }Ein wesentlicher Unterschied zwischen Methodenaufrufen und Funktionsaufrufen. ----Aufrufkontexto.add() Der Aufrufkontext von add ist o, das heißt: this
o.add() entspricht o['add']()
Methodenkette: Wenn die Methode keinen Wert zurückgeben muss, ist es am besten, diesen direkt zurückzugeben
Dies ist ein Schlüsselwort, keine Variable oder ein Attributname. Die JavaScript-Syntax erlaubt es nicht, diesem
einen Wert zuzuweisen. Im Gegensatz zu Variablen unterliegt das Schlüsselwort this keinen Einschränkungen hinsichtlich seiner Wirkung. Verschachtelte Funktionen erben diesen Wert nicht von der Funktion, die ihn aufruft. var self= this ;In Variable speichern
Wenn die verschachtelte Funktion als Funktion aufgerufen wird, zeigt ihr Wert this auf das Objekt, das sie aufgerufen hat. Wenn es als Funktion aufgerufen wird, ist dies entweder ein globales Objekt (nicht strikter Modus) oder undefiniert (strikter Modus)
Konstruktoraufruf
var o = new Object();Konstruktoraufrufe, gewöhnliche Funktionsaufrufe und Methodenaufrufe werden in tatsächlichen Parametern verarbeitet. Es gibt Unterschiede in Aspekten wie Aufrufkontext und Rückgabewert. Klammern können bei jedem Konstruktoraufruf ohne formale Parameter weggelassen werden.
var o = new Object(); var o = new Object; //等价Der Konstruktoraufruf erstellt ein neues leeres Objekt. Diese Funktion erbt das neu erstellte Objekt Dieses Objekt dient als Kontext, sodass der Konstruktor mit dem Schlüsselwort this auf das neu erstellte Objekt verweisen kann. new o.m() Der Kontext des Aufrufs ist nicht o.
Der Konstruktor verwendet keine Rückgabe. Wenn der Konstruktor mithilfe der Return-Anweisung explizit ein Objekt zurückgibt, ist der Wert des aufrufenden Ausdrucks dieses Objekt. Wenn der Konstruktor keinen Wert zurückgibt oder einen primitiven Wert zurückgibt, wird der Rückgabewert ignoriert und das neue Objekt wird als Rückgabeergebnis verwendet.
Indirekter Aufruf
call()appy()
Das obige ist der detaillierte Inhalt vonDefinition, Aufruf und Probleme, auf die bei JavaScript-Funktionen geachtet werden sollte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!