Was ist der Zweck / Nutzen der Verwendung ignorierter Parameter in einer JavaScript-Funktion?

9

Nur damit es kein Missverständnis gibt, geht es bei dieser Frage nicht darum, optionale Parameter in einer JS-Funktion zuzulassen.

Meine Frage wird durch die Funktion jQuery parseXML motiviert, die wie folgt in jQuery.js definiert ist:

%Vor%

Innerhalb des Rumpfes der Funktion werden die Parameter xml und tmp vor ihrer Verwendung zugewiesen. Das bedeutet, dass sie als lokale Variablen verwendet werden, sodass die Funktion wie folgt definiert werden könnte:

%Vor%

Was ist der Vorteil der ersten Möglichkeit, außer ein paar Zeichen in der verkleinerten Version von jQuery.js zu speichern?

    
Joel Lee 01.04.2011, 22:52
quelle

3 Antworten

3

Wenn wir zwei Funktionen definieren ...

%Vor%

... sie melden verschiedene length s ...

%Vor%

Es ist sehr selten, dieses wenig bekannte Feature von Javascript zu verwenden.

Aber abgesehen davon, ein paar Bytes von der verkleinerten Dateigröße zu rasieren, ist dies der einzige andere Grund, den ich mir vorstellen kann.

    
Már Örlygsson 08.04.2011, 00:06
quelle
1

Im Allgemeinen können Sie unbenutzte Parameter zu einer Funktion hinzufügen, um einer vorab vereinbarten Funktionssignatur zu entsprechen, wenn Sie diese Funktion an eine andere Funktion als Rückruf oder als Fortsetzung weitergeben und der API-Vertrag sagt "Ich rufe an Ihr Callback mit diesen Parametern ", und Sie brauchen nicht alle Parameter zu tun, was Sie im Callback tun wollen. (Dies würde für jede Sprache gelten, nicht nur für JavaScript.)

In diesem speziellen Fall weiß ich nicht. Wie wird parseXML verwendet? Wird es direkt aufgerufen oder als Argument für andere Funktionen verwendet, die eine 3-Argument-Funktion erwarten könnten?

    
metamatt 01.04.2011 23:00
quelle
1

(xml & tmp used internally)

Sie missverstehen die Bedeutung. Sie bedeuten nicht "intern" innerhalb der Funktion. Sie meinen intern innerhalb der Bibliothek. Die öffentliche API dieser Funktion hat einen Parameter (Daten). Die private API dieser Funktion hat 3 Parameter.

Dies ist in jQuery üblich. Im Allgemeinen können diese Funktionen mit und ohne Nebenwirkungen arbeiten. Die API ohne Nebenwirkungen ist öffentlich und jQuery selbst wird mehr Parameter übergeben, um Nebenwirkungen zu verursachen, die Sie als Benutzer nicht tun sollten.

    
Raynos 07.04.2011 23:52
quelle

Tags und Links