詳しくはjavascript関数を言います.
1581 ワード
javascript関数は変なものです.しばらく接触すると迷います.それは一体何なのか分かりません.Javascript関数の中には名前がないというものがありますか?javascript関数のパラメータがタイプがないので、狂ってしまいますか?javascript関数は表現の形で存在しますか?完全に崩壊します.これらの悩みがあったからこそ、javascript関数は私達に味を探す価値があります.関数の構成から詳しく関数を話したいです.これは無駄話のように聞こえます.もちろん構成から話しますが、javascript関数は確かにその形態を把握できないので、ここでは標準関数の構成から詳しく説明します.
1.関数名
オブジェクト指向言語では、関数に名前がありますが、javascript関数は必ずしもそうではありません.このような関数を匿名関数または関数直接量と呼びます.この表式の左の値は、関数を呼び出すために使用されます.また、変数に格納されて他の関数に伝達されます.その利点は、呼び出しごとに新しいオブジェクトを作成しないことです.
2.パラメータ
javascript関数のパラメータも非常に不思議です.javascript関数を呼び出す時に記入したパラメータと関数が定義したパラメータが一致しない場合(例えば、個数が一致しない場合)、プログラムはエラーが発生しないし、時には成功を呼び出すこともできます.これはjava言語については想像できないですが、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です