Heim > Web-Frontend > js-Tutorial > Argumente: arguments.callee

Argumente: arguments.callee

巴扎黑
Freigeben: 2016-11-25 09:38:55
Original
1096 Leute haben es durchsucht

Zuerst gibt es eine JavaScript-Funktion

Code

<span style="font-family: &#39;courier new&#39;, courier;">function test(a, b, c, d) {  
    return a + b;  
}</span>
Nach dem Login kopieren

Die Anzahl der tatsächlichen Parameter beim Aufruf einer Funktion in JavaScript kann gleich der Anzahl von sein Die formalen Parameter der aufgerufenen Funktion stimmen nicht überein. Die Anforderungen sind nicht so streng wie bei Java, da die Parameter in ECMAScript intern durch ein Array dargestellt werden und die Funktion beim Aufruf immer dieses Array empfängt, unabhängig davon, welche Parameter darin enthalten sind Das Array spielt keine Rolle, auch wenn kein Element

Js-Code

<span style="font-family: &#39;courier new&#39;, courier;">function test(a, b, c, d) {  
    return a + b;  
}
Nach dem Login kopieren

console.log(test(10, 20)); vorhanden ist 🎜>

Ein solcher Code meldet keinen Fehler in JavaScript. Gleichzeitig können wir in JavaScript die Anzahl der tatsächlichen Parameter und formalen Parameter durch den folgenden Code abrufen

Js-Code

<span style="font-family: &#39;courier new&#39;, courier;">function test(a, b, c, d) {  
    console.log(test.length);//这里获得的是形参的个数  
    console.log(arguments.length);//这里获得的是实参的个数,这段代码必须放在函数内部  
}
Nach dem Login kopieren
console.log(test(10, 20));

Es gibt auch ein ähnliches Objekt namens arguments.calee, was normalerweise für rekursive Aufrufe verwendet wird

Js-Code

<span style="font-family: &#39;courier new&#39;, courier;">function test2(num) {  
    if(num <= 1) return 1;  
    else return num*arguments.callee(num-1);  
}  
  
console.log(test2(5));</span>
Nach dem Login kopieren
Wenn Sie arguments.callee(num-1) in test2(num-1) ändern, wird ein Fehler im gemeldet folgender Aufruf

Js-Code

<span style="font-family: &#39;courier new&#39;, courier;">var F = test2;  
test2 = null;  
console.log(F(5));</span>
Nach dem Login kopieren


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