Umsetzung überladenen MethodenSie wollen überladenen Methoden in Ihrem JavaScript-Code zu implementieren. Wenn eine Methode ist es, jedes Objekt zugeordnet ist, kann es nur eine Instanz dieser Eigenschaft. Es ist nicht möglich in JavaScript mehrere gleichnamigen Eigenschaften zuweisen. Zum Beispiel wird der folgende Code funktioniert nicht. Quelle: / website / ROOT / Ajax / Javascript / overloaded.html var cls = new Object (); cls [ "method"] = function () (info ( "method1", "Hallo");) cls.method (); cls [ "method"] = function () (info ( "Methode 2", "Hallo");) cls.method ();
In dem Beispiel-Code, gibt es zwei Aufgaben, die Methode Eigentum. Die Methode ist cls.method zweimal angerufen, und bei jedem Aufruf der Funktion aufgerufen wird, die Umsetzung der letzten Zuweisung Wert. Der Code ist trivial und dazu bestimmt ist, veranschaulichen, dass es keine Methode, Überbelastungen durch Zuweisen. Überladen einer Methode ist in Situationen nützlich, in denen eine variable Anzahl von Parametern gehen auf eine Methode aufgerufen werden. Da es keine Deklarationen sind, wird überladenen Methoden unterscheiden sich in der Anzahl der Parameter. Die Logik verwendet wird, wenn die Methode mit fünf Parameter aufgerufen wird, dann eine überladene Methode, die fünf Parameter genannt werden Prozesse. Wenn die überladene Methode nicht vorhanden ist, das war die Default-Implementierung zunächst auf die Eigenschaft zugewiesen wird. SolutionDie Umsetzung der überladenen Methode ist wie folgt. Quelle: / website / root / scripts / Jaxson / Common.js überlastet: function (instance, funcIdentifier, newfunc) (var overloadedPrototype = function () (var embeddedFunc = __embedded; var overloadedFunc = __newFunc; if (arguments.length == __paramCount) ( overloadedFunc.apply (this, arguments);) else if (typeof (embeddedFunc) == "function") (embeddedFunc.apply (this, arguments);)) var origFunc; if (! Instanz [funcIdentifier]) (origFunc = function () ()) else (origFunc = Instanz [funcIdentifier];) Instanz [funcIdentifier] = Generics.expand (overloadedPrototype, (__embedded: origFunc, __newFunc: newfunc, __paramCount: ParamCount (newfunc)));) Bei der Umsetzung sind Generika JavaScript verwendet, um die overloadedPrototype Funktion zu erweitern. Aber hat diese Expansion ist eine andere Art bisher nicht verwendet. Schauen Sie sich die __paramCount Kennung. Wenn der Bezeichner ist cross-referenced, dann __paramCount, wenn es ausgebaut wird, wird ein Verweis numerischen Wert. Dies bedeutet, dass die erweiterte Funktion schwer werden, werden verschlüsselt, sondern weil JavaScript Generika verwendet werden, das ist keine schlechte Sache. Die Leistung wird schneller, weil es keine Notwendigkeit, die Zahl der Parameter, die die overloadedFunc Funktion zu berechnen. Um die überladene Methode, mit dem folgenden Code verwendet wird: Funktion FunctionNoParam () () function FunctionOneParam (param) (info ( "FunctionTwoParam", "param =" + param);) function FunctionTwoParam (param1, param2) (info ( "FunctionTwoParam", "param1 =" + param1 + "param2 = "+ param2);) var cls = new Object (); cls.value =" Original "; cls.example = function () (info (" default "," Hallo ");) ops.overloaded (cls," Beispiel ", FunctionNoParam); ops.overloaded (cls," Beispiel ", FunctionOneParam); ops.overloaded (cls," Beispiel ", FunctionTwoParam); cls.example (" ein Beispiel param "); cls.example (" first param "," zweite param "); Drei Aufgaben sind definiert: FunctionNoParam, FunctionOneParam und FunctionTwoParam. Diese Funktionen dienen als überladenen Funktionen mit unterschiedlicher Anzahl von Parametern. Die CLS-Variable ist eine generische JavaScript-Objekt ohne Methoden oder Parameter. Die Daten Mitglied Wert wird dynamisch an die Standard-Methode zugeordnet. Nach Ablauf der voreingestellten zugeordnet worden ist, ist die Methode, etwa mit den drei überladenen Funktionen mit Hilfe der Funktion ops.overloaded überlastet. Sobald die Methoden überladen sind, können sie mit einer variablen Anzahl von Parametern aufgerufen werden. Die überladenen Methoden, zum Beispiel wird dann der Reihe nach die korrekte Methode zu nennen. Bei der Umsetzung überladenen Methoden, halten Sie die folgenden Punkte beachten: • Die überladene Methode JavaScript Generika Expansion wurde gezeigt, ähnlich wie in früheren Artikeln. Die einzige zusätzliche Drehung wurde die Hard-Codierung der Zahl der Parameter. Herkömmliche Programmiertechniken, würden Sie nicht tun, sondern mit Hilfe von JavaScript Generika ist trivial und empfohlen. • Wenn Methoden überladen, müssen Sie eine Default-Implementierung liefern, wenn Sie es wollen. • Sie müssen nicht nur die Anzahl der Parameter zu ermitteln, welche Unterstützung Sie anrufen möchten, sondern auch die Art. Dies ist ein viel häufiger Anwendungsfall, nachdem alle. Eine Methode, die einen String könnte durch eine Variante, die ein Array akzeptiert, und fordert die String-Version für jedes Element überladen werden akzeptiert. • Sie können umzusetzen überlastet Typen, die Filter auf bestimmte Arten. Zum Beispiel könnten Sie implementieren eine überladene Methode Filter, der die Anwesenheit eines bestimmten Objekts Wert Abfragen. Um dies zu erreichen, können Sie mit dem überladenen Artikeln. Dynamic Content Artikeln der Proxy kombinieren WHenne Gebäude Ajax-Anwendungen, erstellen Sie Benutzer-Schnittstellen, die mit den Daten auf dem Server zu interagieren. Der Aufbau einer Benutzeroberfläche enthält mehrere Aspekte, die berücksichtigt werden unabhängige könnte. Zum Beispiel erfordert es eine Reihe von Elementen in einem Formular. Sie müssen diese Elemente richtig Platz und zu verifizieren. Das Inverkehrbringen und die Überprüfung in Betracht gezogen werden unabhängig, da die Überprüfung erfolgen kann unabhängig davon, wie die Elemente platziert werden, und umgekehrt. Dieser Artikel versucht nicht, durch die Details, wie die Elemente so an, dass ihre Nutzbarkeit korrekt ist dig. Stattdessen gräbt dieses Artikels durch die Themen, die sich auf Algorithmen wie Bestätigungs-Element, HTML-Dialogfeld Generation und dynamische Erzeugung von Layouts. Ein Artikel eingereicht von Sonja Lande Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle. Wichtig: Dieser Artikel "Implementing überladenen Methoden" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.
|
|||||
| Online: 354 users browsing the articles directory |
|
|