JavaScriptの関数オブジェクトを完璧に理解する
白石俊平
2008/04/11 16:00
JavaScript関数の実体は、Functionクラスのオブジェクトです。今回はFunctionクラスの機能を網羅的に解説します。
lengthプロパティ
関数が受け取る仮引数の数を返します。
// 仮引数の数は2
function add(a, b) {
return a + b;
}
// 「2」が表示される
alert(add.length);
Functionコンストラクタ
関数オブジェクトを作成するには、これまで何度も使ってきたように、functionキーワードを用いるのが簡単です。hello()と言う関数を作成するには、以下のようにします。
function hello() { ... }
これは、以下のコードと等価です(連載第三回参照)。
var hello = function() { ... }
そして、関数オブジェクトを作成するもう一つの方法として、Functionクラスのコンストラクタを使用することもできます。
var hello = new Function("...");
Functionコンストラクタは、以下のような定義になっています。
Function (p1, p2, … , pn, body)
p1からpnまでは関数の仮引数、bodyは関数の本体を表しており、すべて文字列で指定します。例えば、引数を二つ取り、加算して返す関数addを作成するには以下のようにします。
var add = new Function("a", "b", "return a+b;");
ちなみに、このコードは以下のように記述することもできます。
// new演算子を使わず、コンストラクタをそのまま呼び出すこともできる
var add = Function("a", "b", "return a+b;");
// 引数に注目!aとbが、カンマで区切られた一つの引数となっている
var add = new Function("a,b", "return a+b;");
- 特集: JavaScriptのイロハ (17件)
- 今日のトップ記事
- 2日前
- 4日前
- 6日前
- 7日前
- ホワイトペーパー
- 読者投票
今、使っているマシンのOSは?
- 話題のタグ
入門
SOA
Firefox
Apache
Google
フレームワーク
ブラウザ
Ruby
HTML
イロハ
server
リファレンス
PHP
Solaris
Python
Firefox 3
Webデザイン
MySQL
Safari
Internet Explorer
Apple
Microsoft
Opera
Adobe
Leopard
C/C++
Off Topic
Ajax
iPod touch
Linux
Mozilla
Eclipse
Mac OS X
Tips
小技
JavaScript
Database
Flash
CSS
開発環境
XHTML
ライブラリ
iPhone
オープンソース
仮想化
Windows
RIA
Webアプリケーション開発
iPhone 3G
Java
話題のタグを見る »
MS、Vistaとの互換性をチェックできる「Compatibility Center」リリースへ
「似非」SOAを見破る10の方法
Firefox 3のアドオンやテーマ管理を容易にする
openSUSE 11.0を試してみた
フォトレポート:世界各国の優秀な技術者がパリに集結--Imagine Cup 2008世界大会
バッチ処理でデータベース活用:4つの課題と5つの解決ポイント
Rubyでどう書く?:RubyでWord文書を作成する
「未来の、その先」をどう提言していくか
Techno Exchange
ZDNet Japan Green IT
DELL連載第4回〜「Microsoft System Center」
今知るべき仮想化情報