1. Funktionsaufrufmethode
1. Als Funktion eine direkte und leicht verständliche Methode (d. h. Funktionsaufrufmodus).
2. Als Methode ist die Methode mit dem Objekt verbunden und wird vom Objekt aufgerufen.
3. Als Konstrukteur entsteht während des Bauprozesses ein neues Objekt.
4. Über die Apply- oder Call-Methode der Funktion.
Dieser Artikel bietet Ihnen hauptsächlich eine kurze Diskussion der verschiedenen Methoden zum Aufrufen von Funktionen und deren Richtung. Der Herausgeber findet es ziemlich gut, deshalb teile ich es jetzt mit Ihnen und gebe es als Referenz. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.
2. Funktionsparameter
1. Eingehende Parameter
(1) Es gibt mehr eingehende Variablen als Funktionsdefinitionsvariablen.
(2) Funktionsdefinitionsvariablen werden in mehr als einer Variablen übergeben, und die zusätzlichen Variablen sind undefiniert
2. Beim Aufruf der Funktion werden die beiden Parameter argument und this unsichtbar übergeben (d. h. Argument und this werden stillschweigend an die Funktion übergeben und wirken im Geltungsbereich der Funktion).
(1) Argument: Der Satz von Variablen, die beim Aufruf der Funktion an die Funktion übergeben werden (hat das Attribut argument.length)
z. B.: argument[0] bezieht sich auf den ersten übergebenen Parameter in die Funktion
(2) wird diese mit einem Objekt verknüpft.
Je nach Aufrufmethode ist auch der Sinn hier unterschiedlich. Daher ist dies der Aufrufkontext.
3. Verweisen auf dieses
1. Funktionsaufrufmodus (dieses->Fenster)
Diese Funktion gehört nicht zu den Attributen eines Objekts.
function fn1(){ //some code } fn1(); 或着: var fn2=function(){ //some code } fn2(); 使用这种方式调用函数,函数的上下文是全局上下文(global context即window)。this->window。
2. Methodenaufrufmodus (dieses-> das Objekt, zu dem die Methode gehört)
Diese Funktion ist eine Eigenschaft eines Objekts, wenn diese Funktion aufgerufen wird wird als Methode dieses Objekts betrachtet.
var obj={ //some code; }; obj.getname=function(){ //some name } obj.getname(); 函数的上下文是这个对象(例子中的 obj)。this->obj
3. Konstruktor-Aufrufmodus (dieses-> neues Objekt erstellt)
Wenn eine Funktion als Konstruktor aufgerufen wird, weist sie die folgenden Eigenschaften auf:
Ein neues Objekt wird erstellt.
Das neue Objekt wird als dieser Parameter an den Konstruktor übergeben. Dies bedeutet, dass das neue Objekt der Kontext der Konstruktorfunktion ist Wenn Sie eine explizite Return-Anweisung verwenden, wird dieses neue Objekt implizit zurückgegeben (d. h. es wird stillschweigend zurückgegeben) und wird zum Wert dieses Konstruktors.
4.apply() ruft die call()-Methode ab (dieses-> kann jedes von uns angegebene Objekt sein)function Fn(){ this.a=function(){ return this; } } var n=new Fn(); console.log(n.a());//Fn{a:f} console.log(n);//fn{a:f} //此例中,构造了一个构造函数Fn((),利用new关键字调用时一个空的对象被创建出来,并传递到函数中作为this存在。this-Fn(新的) //这个构造器同时创建了a属性,并将此属性作为一个方法赋予给它创建出新对象的实例。
(1) apply(), zwei Parameter. Erster Parameter: das als Funktionskontext verwendete Objekt. Zweiter Parameter: ein Parameterarray.
(2) call(), zwei Parameter. Erster Parameter: das als Funktionskontext verwendete Objekt. Der zweite Parameter: Argumentliste.
call() und apply() werden hauptsächlich für Funktionsrückrufe verwendet.
Verwandte Empfehlungen:function circle(list,calback){ for(var i=0;i<list.length;i++){ calback.call(list[i],i); } } var list=['a','b','c']; circle(list,function(index){ console.log(index);//0,1,2(即传进来的i值) console.log(this);//a,b,c(call的第一个参数) }); //this->call()传递进来的第一个参数。
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der verschiedenen Möglichkeiten zum Aufrufen von Funktionen und deren Hinweise. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!