Variable Argumente und standardmäßig in Javascript, Actionscript und PHP

Wer entwickelt, weiß, dass eines der Merkmale von Funktionen ( function () ) zu haben oder nicht die Eingabeargumente ist. Es kann vorkommen, manchmal muss man eine Funktion, die, basierend auf Input-Parameter, verhält sich anders (in der OO-Programmierung dieses Verhalten sind als Polymorphismus bezeichnet) zu schreiben. Variable Parameter (varargs), bereits zum Zeitpunkt des vorliegenden standardmäßig in C und der klassischen Darstellung der eingeführten main :

1
int main (int argc, char * argv []);

Aber nicht mit der Default-Einstellung eines Parameters verwechselt werden, nun vollständig in ActionScript 3.0 unterstützt.

Default-Argumente

Zum Beispiel in PHP können Sie eine Funktion wie diese:

1
2
3
$a , $b = 5 ) { function bar ($ a, $ b = 5) {
/ / Todosomethink
}

der Parameter $b ist optional, dh wenn es nicht während des Gesprächs an die Funktion übergeben übernimmt den Standardwert von 5.

Wie in ActionScript 3.0 erwartet nun voll unterstützt dieses System:

ActionScript 3.0 stellt die Fähigkeit, Standard-Parameterwerten für eine Funktion zu deklarieren. Wenn ein Aufruf einer Funktion mit Default-Parameter-Werte weggelassen einen Parameter mit einem Standardwert, verwendet es den Wert für diesen Parameter in der Definition der Funktion angegeben. Alle Parameter mit Standardwerten müssen am Ende des Parameters positioniert werden. Die Werte als Standardwerte zugewiesenen Werten muss Compiler-Konstanten sein. Die Existenz einer Default-Wert für einen Parameter macht diesen Parameter einen optionalen Parameter, während ein Parameter ohne Standardwert wird als erforderlicher Parameter.

Das gleiche gilt für PHP: Ein Parameter mit einem Standardwert für optionale Wind.

In Actionscript 3.0, ähnlich wie bei dem obigen Beispiel beschrieben in PHP können Sie voreingestellte die Eingabeparameter auf diese Weise:

1
2
3
a : int , b : int = 5 ) : void { function bar (a: int , b: int = 5): void {
/ / Todosomethink
}

Auch in diesem Fall der zweite Parameter b wird automatisch optional.

In JavaScript leider ist diese Eigenschaft - noch - nicht unterstützt. Zwar gibt es einige "verschlungenen"-Techniken (siehe z. B., sind Standard-Argumente in JavaScript-Funktionen ) zu simulieren oder um das Hindernis herum, ist der Einsatz dieser Technik in JavaScript sehr begrenzt.

Variable Parameter

Diese Technik, die im Gegensatz zu seinem Vorgänger, ermöglicht es, den Inhalt und die Anwesenheit der Input-Parameter einer Funktion zu untersuchen. Es ist offensichtlich, dass diese Methode kann auch verwendet werden, um die fehlenden Parameter eingestellt werden. e func_get_arg() . In PHP, zum Beispiel, haben wir drei einfache Funktionen, die auf Input-Parameter zu betreiben: func_num_args() , func_num_args() und func_get_arg() . Diese Funktionen ermöglichen es Ihnen, bzw. geben die Anzahl der Argumente, ein Array mit allen Elementen der Eingang abzurufen einem bestimmten Punkt der Eingabe. Zum Beispiel:

1
2
3
function bar () {
. func_num_args ( ) ; echo 'Anzahl der Argumente ='. func_num_args ();
}

Gibt die Anzahl der Argumente an die Funktion übergeben pluto . Im Beispiel unten ist jedoch in Abhängigkeit von ihrem Verhalten erkennen kann je nach der Anzahl (und auch die Art - polimofica) seiner Parameter. In diesem Fall, wenn wir nennen pluto() ist mit zwei oder mehr Parameter sonst nicht angezeigt.

1
2
3
4
function bar () {
func_num_args ( ) > 2 ) if ( func_num_args ()> 2)
. func_get_arg ( 1 ) ; // essendo in base 0 echo 'Der zweite Parameter ist ". func_get_arg (1), / / 0-basiert sein
}

Dies ermöglicht es Ihnen auch zu "simulieren" eine Reihe von Standard-Parameter, aber da PHP unterstützt native und noch bequemer, die oben dargelegt. Aber hier ist ein Beispiel zur Verdeutlichung:

1
2
3
4
5
function bar () {
! isset ( func_get_arg ( 1 ) ) ) { if ( isset ( func_get_arg (1))) {
/ / Der zweite Parameter wurde nicht bestanden
}
}

oder:

1
2
3
4
5
function bar () {
func_num_args ( ) < 2 ) { if ( func_num_args () <2) {
/ / Der zweite Parameter wurde nicht bestanden
}
}

In ActionScript und JavaScript haben eine situative wie folgt aus:

1
2
3
4
5
6
7
function bar () {
'Numero argomenti passati = ' + arguments . length ) ; trace ("Anzahl der Argumente = '+ Argumente Länge.);
/ / Print all die Themen
var i : uint = 0 ; i < arguments . length ; i ++ ) { for (var i: uint = 0; i < Argumente Länge; i + +.) {
arguments [ i ] ) ; trace ( Argumente [i]);
}
}

Javascript:

1
2
3
4
5
6
7
8
9
function bar () {
'Numero argomenti passati = ' + arguments. length ) ; alert ('Die Anzahl der Argumente =' + Argumente die Länge.);
/ / Print all die Themen
'' ; var o ='';
var i = 0 ; i < arguments. length ; i ++ ) { for (var i = 0;. i <Argumente Länge; i + +) {
i ] + ' \n ' ; oder + = arguments [i] + "\ n";
}
o ) ; alert (o);
}

Da ECMA, ActionScript und JavaScript ähneln sehr viel, sowohl mit einem Objekt arguments , die dann bietet verschiedene Informationen.

2 Kommentare zu "Themen und Standard-Variablen in Javascript, Actionscript und PHP"

  1. 11. Juni 2008 Themen-Variablen in Actionscript 3.0 | Undolog.com :

    [...] Beitrag Themen und Standard-Variablen in Javascript, Actionscript und PHP I wurde mit Hilfe der Techniken der Parameterübergabe und Standard-Variablen. Fügen Sie nun [...]

  2. 5. Januar 2009 WordPress: wp_parse_args () | Undolog.com :

    [...] In WordPress Funktionen und ist nützlich, wenn eine Funktion mehrere paramteri. Wie in Themen und Standard-Variablen in Javascript, Actionscript und PHP ausgeführt, besteht keine Notwendigkeit, um Parameter in den Modus passieren [...]

Hinterlasse einen Kommentar

XHTML TAG PERMIT: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERTION CODE:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL 


Stoppen SOPA