Heim > Web-Frontend > js-Tutorial > So verwenden Sie die Aufrufmethode von Javascript

So verwenden Sie die Aufrufmethode von Javascript

青灯夜游
Freigeben: 2023-01-05 16:07:20
Original
9785 Leute haben es durchsucht

In JavaScript kann die Aufrufmethode zum Aufrufen einer Methode anstelle eines Objekts verwendet werden. Sie kann den Objektkontext einer Funktion von der Initialisierung in ein neues Objekt ändern, dh das ursprüngliche Objekt in den Klammern wird in das Objekt geändert vor call().

So verwenden Sie die Aufrufmethode von Javascript

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

Verwendung der call()-Methode in js

1. Aufrufmethode

Syntax: call(thisobj,[argq,arg2])call(thisobj,[argq,arg2])

定义:调用一个对象的一个方法,以另一个对象替换当前对象

说明:

call方法可以用来代替一个对象调用一个方法,call方法可以将一个函数的对象上下文从初始化改为新的对象,也就是括号里面的原本的对象改为call()前面的对象、即用thisobj代替call前面的东西,最终用thisobj这个对象去执行call前面的方法。

如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。 

一如

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>js中call方法的使用</title>
</head>
 
<body>
<p id="id1">新年</p>
</body>
 
</html>
 
<script>
    function add(a,b){
        alert(a+b);
    }
    function sub(a,b){
        alert(a-b);
    }
    document.getElementById("id1").onclick = function(){
        add.call(sub,3,1);
    }
 
</script>
Nach dem Login kopieren

add代替sub ,最总结过输出

这个例子中的意思就是用 add 来替换 sub,add.call(sub,3,1) == add(3,1) ,所以运行结果为:alert(4); // 注意:js 中的函数其实是对象,函数名是对 Function 对象的引用。

【推荐学习:javascript高级教程

2.apply方法

语法:apply(thisobj,[argArray])

Definition: Rufen Sie ein Objekt auf Eine Methode zum Ersetzen des aktuellen Objekts durch ein anderes Objekt

Erklärung: Die Aufrufmethode kann zum Aufrufen einer Methode anstelle eines Objekts verwendet werden. Die Aufrufmethode kann den Objektkontext einer Funktion von der Initialisierung auf ein neues Objekt ändern, d. h. innerhalb der Klammern Das ursprüngliche Objekt wird in das Objekt vor call() geändert, das heißt, thisobj wird verwendet, um das Ding vor dem Aufruf zu ersetzen, und schließlich wird das Objekt thisobj verwendet, um die Methode vor dem Aufruf auszuführen.

Wenn kein thisObj-Parameter angegeben wird, wird das globale Objekt als thisObj verwendet.


Genau wie

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>js中call方法的使用</title>
</head>
 
<body>
<p id="id1">新年</p>
</body>
 
</html>
 
<script>
    function Animal(){
        this.name = "Animal";
        this.showName=function(){
            alert(this.name);
        }
    }
    function Cat(){
        this.name = "Cat";
    }
 
    document.getElementById("id1").onclick = function(){
        var animal = new Animal();
        var cat = new Cat();
        // 通过call或apply方法,将原本属于Animal对象的showName方法交给对象call来使用了
        animal.showName.apply(cat,[]);
        animal.showName.call(cat,",");
 
    }
 
 
</script>
Nach dem Login kopieren

füge statt sub die am meisten zusammengefasste Ausgabe hinzu

Was dieses Beispiel bedeutet, ist die Verwendung von add zum Ersetzen von sub, add.call(sub,3,1) == add(3, 1), daher lautet das laufende Ergebnis: Alert(4); // Hinweis: Funktionen in js sind tatsächlich Objekte und der Funktionsname ist eine Referenz auf das Funktionsobjekt.

【Empfohlenes Lernen: Javascript-Tutorial für Fortgeschrittene

]

2. Methode anwenden

Syntax: apply(thisobj,[argArray])Definition: Eine Methode eines Objekts anwenden und das aktuelle Objekt durch ein anderes Objekt ersetzen

🎜Beschreibung: 🎜🎜Wenn argArray kein gültiges Array ist oder ist kein Argumentobjekt ist, führt dies zu einem TypeError. 🎜 Wenn weder argArray noch thisObj bereitgestellt werden, wird das Global-Objekt als thisObj verwendet und es können keine Parameter übergeben werden. 🎜rrreee🎜Beachten Sie, dass sich die Parameter von apply von den Parametern der Aufrufmethode apply unterscheiden. 3. Aufruf implementiert die js-Vererbung. Weitere Informationen zum Programmieren erhalten Sie Besuchen Sie: 🎜 Programmiervideo 🎜! ! 🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Aufrufmethode von Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage