JavaScriptに慣れていないすべての学生は、関数パラメーターの合格について非常に混乱していると思います。その理由は、その構文が奇妙すぎるためです。関数を定義します。
例えば
関数テスト(name、msg){return 'hello' + name + msg;}それで、あなたは電話するときにそれをどのように呼びますか?テスト( 'Eric')、Test( 'Eric'、 'welcome to Javascript)をテストしたり、好きなだけパラメーターを渡すこともできます。タイプは任意です。これはなんて素晴らしいことでしょう。 C ++/C#またはJavaを研究した学生は、関数の過負荷を考えるかもしれません。ただし、私があなたに伝えたいのは、JavaScriptに関数の過負荷がないということです。同じ名前の2つの関数を定義する場合、最初に定義された関数は後の定義によって上書きされます。つまり、必要な結果は後の定義された関数からのみ取得できます。
さて、ポイントに戻りましょう。なぜJavaScript機能は何気なく渡すことができるのですか?まず、すべての渡されたパラメーターが保存されている場所を見てみましょう。実際、その内部実装では、すべての合格パラメーターが配列に存在します。関数は常にこの配列を受信し、配列に含まれるパラメーターを気にしません。今では理解しやすいです。関数を定義しました。呼び出すと、パラメーターを自由に渡すことができます。通過するのと同じくらい配列に追加されます。渡さない場合、すべての正式なパラメーターは「未定義」です。構文エラーはありませんが、セマンティクスの観点から言うのは難しいです。
わかりました、ブログを書くのはこれが初めてです。私は才能がないので、あなたを笑っています。このブログ投稿が少しお手伝いできることを願っています。 。 。 。
私はあなたを愛しています、みんな!