Ich glaube, dass jeder Schüler, der neu in JavaScript ist, sehr verwirrt über den Funktionsparameter ist. Der Grund ist, dass seine Syntax zu seltsam ist. Sie definieren eine Funktion.
Zum Beispiel
Funktionstest (Name, msg) {return 'hello' + name + msg;}Wie nennst du es beim Anruf? Sie können ("Eric"), testen ("Eric", "Willkommen bei JavaScript") oder sogar so viele Parameter wie Sie übergeben, und die Typen sind willkürlich. Was für eine großartige Sache das ist. Schüler, die C ++/C# oder Java studiert haben, können an Funktionsüberladen denken. Ich möchte Ihnen jedoch sagen, dass es in JavaScript keine Funktionsüberladung gibt. Wenn Sie zwei Funktionen mit demselben Namen definieren, wird die zuerst definierte Funktion durch die spätere Definition überschrieben, was bedeutet, dass das gewünschte Ergebnis nur aus der später definierten Funktion erhalten werden kann.
Okay, lass uns auf den Punkt zurückkehren. Warum kann die JavaScript -Funktion so beiläufig passieren? Schauen wir uns zunächst an, wo alle übergebenen Parameter gespeichert sind. Tatsächlich sind in seiner internen Implementierung alle übergebenen Parameter in einem Array vorhanden. Die Funktion empfängt dieses Array immer und kümmert sich nicht darum, welche Parameter das Array enthält. Jetzt ist es leicht zu verstehen. Wir haben eine Funktion definiert. Beim Anruf können die Parameter nach Belieben übergeben werden. Es wird dem Array genauso viel hinzugefügt, wie Sie bestehen. Wenn Sie es nicht übergeben, sind alle Ihre formalen Parameter „undefiniert“. Es wird keine Syntaxfehler geben, aber es ist schwer in Bezug auf die Semantik zu sagen.
OK, dies ist mein erstes Mal, dass ich einen Blog schreibe. Ich bin nicht talentiert, also lache ich über dich. Ich hoffe, dieser Blog -Beitrag kann Ihnen ein wenig helfen. . . .
Ich liebe dich, Leute!