JavaScript 関数 新しいページはコチラ
提供: yonewiki
(→定義とオブジェクト化の同時指示) |
(→定義とオブジェクト化の同時指示) |
||
217行: | 217行: | ||
この項目のサンプルは前述のサンプルと同じですので、サンプルの掲載を省略します。 | この項目のサンプルは前述のサンプルと同じですので、サンプルの掲載を省略します。 | ||
+ | == 定義と呼び出しの同時指示 == | ||
+ | :前述のサンプルでは、関数の定義部分と、実際に関数のオブジェクトをnewキーワードを使って、左辺値のオブジェクト名に生成する処理がわかれていましたが、以下のように記述することで、定義と生成をひとまとめにできます。 | ||
+ | *var objName1 = function(){ … }; | ||
+ | :のように記述することで同時生成できます。これは何がメリットなのでしょうか?それは関数に名前を付けない無名関数のオブジェクト化をするという点にあります。無名関数ということは、関数をどこに定義しても、例えばグローバルの空間、つまりはどこからでも関数名が参照できそうな場所で定義したとしても、関数名がないので、不用意に呼び出されることはなく一度きりの関数として利用できることです。分けて書いた場合と使い方はほぼ変わらないので、サンプルは必要ないかもしれませんが、念のため、サンプルを記載しておきます。 | ||
+ | |||
+ | サンプル | ||
+ | <syntaxhighlight lang="javascript" line start="1"> | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | [[Media:JavaScript Function parallel.html|実行結果サンプル]] | ||
== 定義とオブジェクト化の同時指示 == | == 定義とオブジェクト化の同時指示 == | ||
:前述のサンプルでは、関数の定義部分と、実際に関数のオブジェクトをnewキーワードを使って、左辺値のオブジェクト名に生成する処理がわかれていましたが、以下のように記述することで、定義と生成をひとまとめにできます。 | :前述のサンプルでは、関数の定義部分と、実際に関数のオブジェクトをnewキーワードを使って、左辺値のオブジェクト名に生成する処理がわかれていましたが、以下のように記述することで、定義と生成をひとまとめにできます。 | ||
− | *var objName1 = new | + | *var objName1 = new Function(){ a, b, "document.write(a + b)" }; |
:のように記述することで同時生成できます。これは何がメリットなのでしょうか?それは関数に名前を付けない無名関数のオブジェクト化をするという点にあります。無名関数ということは、関数をどこに定義しても、例えばグローバルの空間、つまりはどこからでも関数名が参照できそうな場所で定義したとしても、関数名がないので、不用意に呼び出されることはなく一度きりの関数として利用できることです。分けて書いた場合と使い方はほぼ変わらないので、サンプルは必要ないかもしれませんが、念のため、サンプルを記載しておきます。 | :のように記述することで同時生成できます。これは何がメリットなのでしょうか?それは関数に名前を付けない無名関数のオブジェクト化をするという点にあります。無名関数ということは、関数をどこに定義しても、例えばグローバルの空間、つまりはどこからでも関数名が参照できそうな場所で定義したとしても、関数名がないので、不用意に呼び出されることはなく一度きりの関数として利用できることです。分けて書いた場合と使い方はほぼ変わらないので、サンプルは必要ないかもしれませんが、念のため、サンプルを記載しておきます。 | ||
227行: | 237行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | [[Media:JavaScript Function | + | [[Media:JavaScript Function objparallel.html|実行結果サンプル]] |
== 呼び出し元取得 caller,constructor == | == 呼び出し元取得 caller,constructor == |