Heim  >  Artikel  >  Web-Frontend  >  Verschleierung der Methodenüberladung durch Argumentparameter in javascript_javascript-Tipps

Verschleierung der Methodenüberladung durch Argumentparameter in javascript_javascript-Tipps

WBOY
WBOYOriginal
2016-05-16 16:34:411426Durchsuche

In vielen objektorientierten Hochsprachen kommt es zu einer Methodenüberladung. Und Javascript kennt kein Konzept der Methodenüberladung. Aber wir können den Parameter arguments verwenden, um ihn als Überladung der Funktion

zu tarnen

Werfen wir vor der Simulation einen Blick auf den Code:

Code kopieren Der Code lautet wie folgt:

//Funktionen, die keine formalen Parameter auf der Oberfläche deklarieren
Funktion fun() {
alarm("Beispielcode");
}
fun("Xiao Ming", 100, true);//Ich habe drei tatsächliche Parameter geschrieben

Aus den Ergebnissen sehen wir, dass wir beim Aufruf der Methode auch dann tatsächliche Parameter schreiben können, wenn wir bei der Deklaration der Funktion keine formalen Parameter definieren. (Eigentlich werden formale Parameter geschrieben, damit Programmierer sie beim Aufrufen von Funktionen sehen können)

Können wir die tatsächlichen Parameter im Code erhalten? Die Antwort ist ja: Bitte sehen Sie sich den Code an:

Code kopieren Der Code lautet wie folgt:

//Funktionen, die keine formalen Parameter auf der Oberfläche deklarieren
Funktion fun() {
alarm(arguments[0]);//Den Wert des ersten tatsächlichen Parameters abrufen.
alarm(arguments[1]);//Den Wert des zweiten tatsächlichen Parameters abrufen.
alarm(arguments[2]);//Den Wert des dritten tatsächlichen Parameters abrufen.
alarm(arguments.length);//Erhalten Sie die tatsächliche Anzahl von Parametern.
alarm("Beispielcode");
}
fun("Xiao Ming", 100, true);//Ich habe drei tatsächliche Parameter geschrieben

Durch den Code können wir erkennen, dass Argumente (interne Eigenschaften) selbst ein Array sind und seine Funktion darin besteht, die tatsächlichen Parameter der Methode zu speichern.

Mit den oben genannten Wissenspunkten erhalten Sie Ideen zur Überlastung von Simulationsmethoden. Wir können anhand der Anzahl der tatsächlichen Parameter eine Beurteilung treffen, um verschiedene Logikcodes auszuführen. Der einfache Code lautet wie folgt:

Code kopieren Der Code lautet wie folgt:

Funktion fun() {
if (arguments.length == 0) {
alarm("Code ohne tatsächliche Parameter ausführen");
}
sonst if(arguments.length==1)
{
alarm("Führen Sie den in einem tatsächlichen Parameter übergebenen Code aus");
}
sonst if(arguments.length==2)
{
alarm("Führen Sie den in zwei tatsächlichen Parametern übergebenen Code aus");
}
}
Spaß();
Spaß("Xiao Ming");
Spaß("Xiao Ming", "Xiao Hua");
Stellungnahme:
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