Heim  >  Artikel  >  Web-Frontend  >  Welche Methoden gibt es zum Aufrufen von Funktionen in Javascript?

Welche Methoden gibt es zum Aufrufen von Funktionen in Javascript?

coldplay.xixi
coldplay.xixiOriginal
2021-04-15 13:45:562435Durchsuche

Die Methoden zum Aufrufen von Funktionen in JavaScript sind: 1. Verwenden Sie die Funktion makeArray als eine ihrer Methoden und verwenden Sie json, um ein Objekt zu deklarieren. 2. Verwenden Sie die Methode [obj.myFunction()], um die Syntax aufzurufen.

Welche Methoden gibt es zum Aufrufen von Funktionen in Javascript?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, DELL G3-Computer.

Die Methoden zum Aufrufen von Funktionen in JavaScript sind:

JavaScript-Funktionsaufrufregel 1

In einer Funktion, die direkt ohne klares Eigentümerobjekt aufgerufen wird, wie z. B. myFunction(), wird der Wert von this zum Standardobjekt (Fenster im Browser).

Funktionsaufruf

Lassen Sie uns nun ein einfaches Objekt erstellen und die Funktion makeArray als eine seiner Methoden verwenden. Wir werden JSON verwenden, um ein Objekt zu deklarieren, und wir werden diese Methode auch aufrufen.

//creating the object
var arrayMaker = {
    someProperty: 'some value here',
    make: makeArray
};
 
//invoke the make() method
arrayMaker.make('one', 'two');
// => [ arrayMaker, 'one', 'two' ]
// alternative syntax, using square brackets
arrayMaker['make']('one', 'two');
// => [ arrayMaker, 'one', 'two' ]

Sehen Sie hier den Unterschied. Nun, den Wert Dies wird zum Objekt selbst. Sie fragen sich vielleicht, warum sich die ursprüngliche Funktionsdefinition nicht geändert hat. Nun, das ist die Art und Weise, wie Funktionen in JavaScript übergeben werden präzise, ​​ein Objekt. Es ist, als ob die gesamte Funktion mit der Parameterliste und dem Funktionskörper kopiert und dem Attribut make in arrayMaker zugewiesen wird, dann ist es so, als würde man ein arrayMaker:

var arrayMaker = {
    someProperty: 'some value here',
    make: function (arg1, arg2) {
        return [ this, arg1, arg2 ];
    }
};

JavaScript definieren Funktionsaufrufregel 2

In einer Methodenaufrufsyntax wie obj.myFunction() oder obj['myFunction']() ist der Wert davon obj

Dies ist die Ereignisverarbeitung, die Hauptursache für Fehler im Code Schauen Sie sich diese Beispiele an

<input type="button" value="Button 1" id="btn1"  />
<input type="button" value="Button 2" id="btn2"  />
<input type="button" value="Button 3" id="btn3"  onclick="buttonClicked();"/>
 
<script type="text/javascript">
function buttonClicked(){
    var text = (this === window) ? &#39;window&#39; : this.id;
    alert( text );
}
var button1 = document.getElementById(&#39;btn1&#39;);
var button2 = document.getElementById(&#39;btn2&#39;);
 
button1.onclick = buttonClicked;
button2.onclick = function(){   buttonClicked();   };
</script>

Wenn Sie auf die erste Schaltfläche klicken, wird „btn“ angezeigt, da es sich um einen Methodenaufruf handelt und dies das Objekt ist, zu dem es gehört (Schaltflächenelement). Wenn Sie auf die zweite Schaltfläche klicken, wird „window“ angezeigt, da „buttonClicked“ aufgerufen wird direkt (im Gegensatz zu obj.buttonClicked()). Dies ist dasselbe wie unsere dritte Schaltfläche, die den Ereignishandler direkt in die Beschriftung einfügt. Das Ergebnis des Klickens auf die dritte Schaltfläche ist also dasselbe .

Die Verwendung einer JS-Bibliothek wie jQuery hat den Vorteil, dass die JS-Bibliothek beim Definieren einer Ereignisbehandlungsfunktion in jQuery dabei hilft, den Wert dieser Funktion neu zu schreiben, um sicherzustellen, dass sie einen Verweis auf das aktuelle Ereignisquellenelement enthält

//使用jQuery
$(&#39;#btn1&#39;).click( function() {
    alert( this.id ); // jQuery ensures &#39;this&#39; will be the button
});

Zugehörige kostenlose Lernempfehlungen: Javascript-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWelche Methoden gibt es zum Aufrufen von Funktionen in Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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