Heim > Web-Frontend > js-Tutorial > Vertieftes Verständnis der Funktionsüberladung in JavaScript_Javascript-Kenntnissen

Vertieftes Verständnis der Funktionsüberladung in JavaScript_Javascript-Kenntnissen

WBOY
Freigeben: 2016-05-16 16:40:27
Original
1157 Leute haben es durchsucht

Es gibt einen speziellen Datentyp in JavaScript: Funktionstyp. Jede Funktion in JavaScript ist eine Instanz des Funktionstyps. Da Funktionen Objekte sind, ist der Funktionsname tatsächlich ein Zeiger auf das Funktionsobjekt und nicht an eine Funktion gebunden.

<pre name="code" class="html">function sum(num1,num2) 
{ 
return num1 +num2; 
} 

alert(sum(10,10)); //20 
var other = sum; 
alert(other(10,10)); //20 
sum = null; 
alert(other(10,10)); //20
Nach dem Login kopieren

Die Verwendung des Funktionsnamens als Zeiger auf die Funktion hilft zu verstehen, warum es in ECMAScript kein Konzept der Funktionsüberladung gibt

function sum(num1) 
{ 
return num1 +100; 
} 
function sum(num1) 
{ 
return num1 +200; 
} 
alert(sum(200)); //400
Nach dem Login kopieren

Obwohl zwei Funktionen mit demselben Namen deklariert sind, überschreibt die letztere Funktion die vorherige Funktion. Das Obige entspricht dem folgenden Code

function sum(num1) 
{ 
return num1 +100; 
} 
sum = function(num1) 
{ 
return num1 +200; 
} 
alert(sum(200)); //400
Nach dem Login kopieren

Beim Erstellen der zweiten Funktion wird die referenzierte erste Funktionsvariablensumme tatsächlich überschrieben

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