詳しくはjavascript関数を言います.


javascript関数は変なものです.しばらく接触すると迷います.それは一体何なのか分かりません.Javascript関数の中には名前がないというものがありますか?javascript関数のパラメータがタイプがないので、狂ってしまいますか?javascript関数は表現の形で存在しますか?完全に崩壊します.これらの悩みがあったからこそ、javascript関数は私達に味を探す価値があります.関数の構成から詳しく関数を話したいです.これは無駄話のように聞こえます.もちろん構成から話しますが、javascript関数は確かにその形態を把握できないので、ここでは標準関数の構成から詳しく説明します.
1.関数名
        オブジェクト指向言語では、関数に名前がありますが、javascript関数は必ずしもそうではありません.このような関数を匿名関数または関数直接量と呼びます.この表式の左の値は、関数を呼び出すために使用されます.また、変数に格納されて他の関数に伝達されます.その利点は、呼び出しごとに新しいオブジェクトを作成しないことです.
var f= function (x) {return x*x;};
alert( f(6) );
        上記の例はページ上でポップアップウィンドウを表示します.
2.パラメータ
        javascript関数のパラメータも非常に不思議です.javascript関数を呼び出す時に記入したパラメータと関数が定義したパラメータが一致しない場合(例えば、個数が一致しない場合)、プログラムはエラーが発生しないし、時には成功を呼び出すこともできます.これはjava言語については想像できないですが、javascript関数はできます.例えば上記の例では、このように呼びます.
alert(f(6,7))
        結果は36です.このように間違いはありませんが、関数が正しく呼び出されて、呼び出された時と関数が定義したパラメータの数が一致することを保証したいです.関数の引数の数はAgmentsオブジェクトによって取得できます.上記のコードを修正します.
var f= function (x) {
   if(arguments.length>1) {
       return "out of range";
   } else {
       return x*x;
   }
};

alert( f(6,7) );
        関数の引数の数を取得する処理は、これらのパラメータの値を取得し、上記のコードをさらに変更することもできます.
var f= function (x) {
   if(arguments.length>1) {
       return arguments[0]*arguments[1];
   } else {
       return x*x;
   }
};
alert( f(6,7) );

        結果はいくらですか?はい、42です