Heim > Web-Frontend > js-Tutorial > Hauptteil

JavaScript verwendet Argumente, um Parameter variabler Länge zu implementieren

高洛峰
Freigeben: 2016-12-06 11:56:18
Original
979 Leute haben es durchsucht

Erklärung der Javascript-Argumente, Realisierung von Parametern variabler Länge.

In C# gibt es Parameter mit variabler Länge params[], aber wie implementiert man solche variablen Parameter in js?

1. Parameter variabler Länge

Argumente sind eine sehr gute Lösung. Ich wusste nie, dass es in Javascript so etwas gibt.

Sehen wir uns zunächst das Anwendungsszenario an, bei dem Argumente verwendet werden, um eine beliebige Anzahl von Parametern an die js-Funktion zu übergeben.

function Test() {
  console.log(arguments[0]);
  console.log(arguments[1]);
  console.log(arguments[2]);
};
Test(1, 2, 3);
Nach dem Login kopieren

Ausgabe 1 2 3;

Natürlich können Sie auch ein Array in die Javascript-Funktion einfügen, aber es ist von feste Länge von.

2. Ändern Sie das Argumentobjekt nicht direkt.

Das Argumentobjekt ähnelt einem Array, ist aber tatsächlich kein Array kann darauf verwendet werden, aber versuchen Sie nicht, die Argumente zu ändern. Es ist leicht, Verwirrung zu stiften.

Wenn Sie es wirklich ändern möchten, können Sie den Inhalt der Argumente in ein neues Array kopieren und ihn dann im neuen Array ändern.

var args = [].slice.call(arguments);

Binden Sie Argumente mit Variablen, um einen funktionsübergreifenden Zugriff zu erreichen.

Argumentvariablen sind implizit an den Körper gebunden Beachten Sie, dass es sich bei jeder Funktion innerhalb jeder Funktion befindet.

Ein Beispiel eines Iterators kann dieses Problem veranschaulichen

function values() {
 //values有自己的arguments
 var i = 0, n = arguments.length;
 return {
  hasNext: function () {
   return i < n;  //hasNext 有自己的arguments
  },
  next: function () {
   if(i >= n)
   {
    throw new Error("已经是最后一个元素!");
   }
   return arguments[i++];  //next 有自己的arguments
  }
 }
}
  
var it = values(1, 2, 3, 4, 5, 6, 7);
console.log(it.next());  //undefined
console.log(it.next());  //undefined
console.log(it.next());  //undefined
Nach dem Login kopieren

Wenn Sie auf die Argumente der äußeren Funktion zugreifen möchten, müssen Sie Folgendes tun: kann nur verwendet werden Auf die lokale Variablenbindungsmethode kann von der inneren Ebene aus zugegriffen werden. Das obige Beispiel kann in

function values() {
 //values有自己的arguments
 var i = 0, n = arguments.length, ourterArgs = arguments;
 return {
  hasNext: function () {
   return i < n;  //hasNext 有自己的arguments
  },
  next: function () {
   if(i >= n)
   {
    throw new Error("已经是最后一个元素!");
   }
   return ourterArgs[i++];  //ourterArgs 外层保存的 arguments
  }
 }
}
  
var it = values(1, 2, 3, 4, 5, 6, 7);
console.log(it.next());  //1
console.log(it.next());  //2
console.log(it.next());  //3
Nach dem Login kopieren


umgewandelt werden
Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!