Heim > Artikel > Web-Frontend > Was Sie über JavaScript-Pfeilfunktionen und Restparameter wissen müssen
Dieser Artikel vermittelt Ihnen relevantes Wissen über Pfeilfunktionen und verbleibende Parameter in JavaScript. Ich hoffe, dass er für alle hilfreich ist.
Die Syntax des Pfeilfunktionsausdrucks ist präziser als der Funktionsausdruck, bei dem es sich um eine vereinfachte Form der Funktion handelt.
Seine Schreibmethode:
() => {}; // 可以用来写一个匿名函数
Seine Struktur:
const / let 函数名 参数 => 函数体
Zum Beispiel gibt es einen allgemeinen Funktionsausdruck
let add = function(x, y) { return x + y;};
, der mit der Pfeilfunktion geschrieben werden kann:
let add = (x, y) => { return x + y;};
// 对于单个参数,我们可以省略外面的圆括号let addOne = x => { return x + 1;}
// 对于单行返回函数体,可以同时省略 {} 和 returnlet add (x, y) => x + y;
// 对于返回单行对象,在外面加个 ()let add (x, y) => ({ value: x + y;});
Die Pfeilfunktion hat dies nicht, sie sucht entsprechend in der äußeren Ebene zur Bereichskette.
Zum Beispiel:
var A = 1;let fun = { A: 2, printA: () => { console.log(this.A); }, printAA: function() { let print = () => { console.log(this.A); } print(); }};fun.printA(); // 1fun.printAA(); // 2
Rufen Sie printA
auf, was this.A
ausgibt. Da die Pfeilfunktion kein this
hat, sucht sie danach in der äußeren Schicht Die äußere Schicht macht Spaß
. Hier wird fun.printA()
im globalen Bereich aufgerufen, sodass das äußere this
auf window
verweist, da vorher A = 1 definiert ist mit var
, also ist die Ausgabe 1. printA
,里面是输出 this.A
,由于箭头函数没有 this
,所以在外层寻找,外层是 fun
。在这里,fun.printA()
是在全局作用域中调用的,所以外层的 this
指向的是 window
,由于之前用 var
定义了一个 A = 1,所以输出的是 1。
调用 printAA
,在里面调用了 print()
,输出 this.A
,看 print
这个函数,是个箭头函数,他没有 this
,所以找外层,它的外层是 printAA
,它是由 fun
调用的,所以它的 this
指向 fun
,所以输出 fun
中定义的 A,也就是 2。
实例化构造函数之后,它的 this 指向实例化的对像,而箭头函数没有 this,所以它不能用来做构造函数。
需要 this 指向调用对象的时候
需要使用 arguments 的时候
箭头函数中没有 arguments,可以使用剩余参数来存参数。
举个例子:
let add = (x, y, z, ...args) => { console.log(x, y, z, args);};
args
就是剩余参数。
剩余参数是个数组,它即使没有值,也是以一个空数组形式存在。
比如:
let add = (x, y, z, ...args) => { console.log(x, y, z, args);}add(1, 2, 3);
x, y, z 对应参数 1, 2, 3,由于剩余参数没有值,所以空数组形式存在。
由于箭头函数没有 arguments
,所以我们可以使用剩余参数替代 arguments
Rufen Sie printAA
auf, rufen Sie print()
auf und geben Sie this.A
aus. Siehe die Funktion print
. ist eine Pfeilfunktion. Sie verfügt nicht über this
, also suchen Sie nach der äußeren Ebene printAA
, die von fun
aufgerufen wird , also zeigt this
auf fun
, sodass das in fun
definierte A ausgegeben wird, das 2 ist.
4. Szenarien, in denen Pfeilfunktionen nicht anwendbar sind
Die Pfeilfunktion enthält keine Argumente, Sie können sie verwenden die restlichen Parameter zum Speichern von Parametern.
5. Restparameter🎜🎜5.1) Was sind Restparameter? 🎜🎜Zum Beispiel: 🎜const print = (...args) => { console.log(args);};print(1, 2);🎜
args
sind die restlichen Parameter. 🎜 Der verbleibende Parameter ist ein Array. Auch wenn er keinen Wert hat, liegt er in Form eines leeren Arrays vor. 🎜 Zum Beispiel: 🎜let add = (...args) => {};🎜🎜 x , y, z entsprechen den Parametern 1, 2 und 3. Da die übrigen Parameter keine Werte haben, liegen sie in Form leerer Arrays vor. 5.2) Funktion 🎜🎜🎜5.3 ) Hinweise🎜🎜🎜In Pfeilfunktionen können die Klammern nicht weggelassen werden, auch wenn nur noch ein Parameter übrig ist.🎜🎜rrreee🎜🎜Der verbleibende Parameter kann nur der letzte Parameter sein und es dürfen keine weiteren Parameter danach folgen andernfalls wird ein Fehler gemeldet🎜🎜🎜【 Verwandte Empfehlungen: 🎜Javascript-Lerntutorial🎜🎜】🎜🎜
Das obige ist der detaillierte Inhalt vonWas Sie über JavaScript-Pfeilfunktionen und Restparameter wissen müssen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!