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

May 16, 2016 pm 04:40 PM
函数重载

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

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So unterscheiden Sie Funktionsüberladung und Umschreiben in C++ So unterscheiden Sie Funktionsüberladung und Umschreiben in C++ Apr 19, 2024 pm 04:21 PM

Das Überladen von Funktionen ermöglicht Funktionen mit demselben Namen, aber unterschiedlichen Signaturen in einer Klasse, während das Überschreiben von Funktionen in einer abgeleiteten Klasse auftritt, wenn eine Funktion mit derselben Signatur in der Basisklasse überschrieben wird, was zu unterschiedlichem Verhalten führt.

Überladen und Umschreiben von PHP-Funktionen Überladen und Umschreiben von PHP-Funktionen Apr 26, 2024 pm 05:12 PM

Das Überladen und Umschreiben von Funktionen wird in PHP unterstützt, um flexiblen und wiederverwendbaren Code zu erstellen. Funktionsüberladung: Ermöglicht die Erstellung von Funktionen mit demselben Namen, aber unterschiedlichen Parametern und ruft die am besten geeignete Funktion basierend auf der Parameterübereinstimmung auf. Umschreiben von Funktionen: Ermöglichen Sie Unterklassen, Funktionen mit demselben Namen zu definieren und Methoden der übergeordneten Klasse zu überschreiben.

Wie implementiert man eine Funktionsüberladung in Golang? Wie implementiert man eine Funktionsüberladung in Golang? Apr 29, 2024 pm 05:21 PM

Die Go-Sprache unterstützt keine herkömmliche Funktionsüberladung, aber ähnliche Effekte können durch die folgenden Methoden erzielt werden: Verwendung benannter Funktionen: Erstellen eindeutiger Namen für Funktionen mit unterschiedlichen Parametern oder Rückgabetypen mithilfe von Generika (Go1.18 und höher): Erstellen eindeutiger Namen; für verschiedene Parametertypen Eine einzelne Version der Funktion.

Best Practices für das Überladen von C++-Funktionen Best Practices für das Überladen von C++-Funktionen Apr 20, 2024 am 10:48 AM

Best Practices für das Überladen von C++-Funktionen: 1. Verwenden Sie klare und aussagekräftige Namen. 3. Berücksichtigen Sie die Standardparameter. 5. Verwenden Sie SFINAE.

Gilt die Überladung von C++-Funktionen für Konstruktoren und Destruktoren? Gilt die Überladung von C++-Funktionen für Konstruktoren und Destruktoren? Apr 14, 2024 am 09:03 AM

C++-Konstruktoren unterstützen das Überladen, Destruktoren jedoch nicht. Konstruktoren können unterschiedliche Parameterlisten haben, während Destruktoren nur eine leere Parameterliste haben können, da diese automatisch aufgerufen wird, wenn eine Klasseninstanz ohne Eingabeparameter zerstört wird.

Was sind die Anwendungsszenarien der C++-Funktionsüberladung in tatsächlichen Projekten? Was sind die Anwendungsszenarien der C++-Funktionsüberladung in tatsächlichen Projekten? Apr 26, 2024 pm 01:57 PM

Durch das Überladen von Funktionen können Funktionen mit demselben Namen in C++ unterschiedlich definiert werden, unterschiedliche Arten von Argumenten verarbeiten oder unterschiedliche Vorgänge ausführen. Spezifische Anwendungsszenarien umfassen: Verarbeiten verschiedener Datentypen, um verschiedene Funktionen bereitzustellen und die Lesbarkeit des Codes zu verbessern

Welche Einschränkungen und Überlegungen gibt es bei der Überladung von C++-Funktionen? Welche Einschränkungen und Überlegungen gibt es bei der Überladung von C++-Funktionen? Apr 13, 2024 pm 01:09 PM

Zu den Einschränkungen bei der Funktionsüberladung gehören: Parametertypen und -reihenfolgen müssen unterschiedlich sein (wenn die Anzahl der Parameter gleich ist), und Standardparameter können nicht zur Unterscheidung von Überladungen verwendet werden. Darüber hinaus können Vorlagenfunktionen und Nicht-Vorlagenfunktionen nicht überladen werden, und Vorlagenfunktionen mit unterschiedlichen Vorlagenspezifikationen können überlastet werden. Es ist erwähnenswert, dass eine übermäßige Funktionsüberladung die Lesbarkeit und das Debuggen beeinträchtigen kann, da der Compiler von der spezifischsten zur unspezifischsten Funktion sucht, um Konflikte zu lösen.

Warum gibt es in Golang keine Funktionsüberladung? Warum gibt es in Golang keine Funktionsüberladung? Apr 30, 2024 am 10:54 AM

Funktionsüberladung ist in der Go-Sprache aus folgenden Gründen nicht zulässig: Vereinfachen Sie die Compiler-Implementierung. Verbessern Sie die Lesbarkeit des Codes und vermeiden Sie Namenskonflikte. In Go können Sie variable Parameterlisten oder Schnittstellen verwenden, um ein Verhalten zu erreichen, das einer Funktionsüberladung ähnelt.

See all articles