JavaScriptのイロハ:「関数はオブジェクト」って理解できますか?
白石俊平
2008/01/10 18:00
今回はJavaScriptの「関数はオブジェクトである」という概念について考えてみます。
- 関数内で関数を定義することができる … (1)
- 関数オブジェクトを戻り値にとることもできる
- 関数内で定義された関数からは、ローカル変数を参照し続ける事ができる … (2)
最後のポイントは非常に重要なので、覚えておいてください。このように、関数自身が定義された環境を、ローカル変数も含めて持ち運ぶことのできる仕組み (またはそうした関数自体) のことをクロージャと呼びます。
まとめ
今回は「関数はオブジェクトだ」という話を中心に、以下のようなことを学びました。
- 「関数宣言」の本質は「関数オブジェクトを変数に代入する」と言うこと
- 無名関数
- 関数オブジェクトを、関数の引数として利用する
- 関数オブジェクトを、関数の戻り値として利用する
- クロージャとは何か
今回はなかなか盛りだくさんでしたね……
しかし、関数についてはまだまだ説明しなければならないことが多くあります。それほど、JavaScriptの関数は奥が深いのです。JavaScriptの関数が持つ更なる機能については、今後の連載でお話しすることになると思います。楽しみにお待ちください。
次回は、JavaScriptにおける「オブジェクト」について、詳しく突っ込んだ話をしてみたいと思います。
- 特集: JavaScriptのイロハ (19件)
- ホワイトペーパー
- 話題のタグ
Mac OS X
プログラミング言語
オープンソース
iPhone 3G
Off Topic
Webアプリケーション開発
ソフトウェア開発
Database
開発環境
仮想化ソフトウェア
server
仮想化
ブラウザ
Apple
入門
Opera
Webデザイン
小技
iPhone
Flash
Firefox
Internet Explorer
SOA
JavaScript
HTML
Windows
CSS
Mozilla
RIA
リファレンス
Adobe
iPod touch
Firefox 3
Java
Tips
Safari
Webサービス
Apache
Linux
携帯電話機
プロジェクト管理
Python
XML
モバイル
脆弱性
Ajax
Ruby
データベース
PHP
Google
話題のタグを見る »
文字にドロップシャドウの効果をつける--FirefoxとSafariのCSS対応
iPhoneにAdiumが載らない2つの理由
iPhone 3Gの節電術
マイクロソフトはIE 8で地雷を踏んだ?
マイクロソフト、Internet Explorer 8のベータ2をリリース
「iPhone」のパスコードロックに深刻な脆弱性--連絡先情報が読み取られる危険も
Windows XPのバックアップユーティリティについて知っておくべき10のこと
S・ウォズニアック氏:「エンジニアは自分の心に従って行動すべき」--IDFインタビュー
Firefox 3.1のHTML 5対応を検証--Canvas Text APIとCanvas Shadow API
グーグルが、無料社食をついに廃止?--真実はいかに
iPhoneからサーバにSSHログイン:TouchTerm
トップページにみる日本のウェブデザイン--表現したい人たちが集うMySpace
モジラ、「Firefox 3.1」でJavaScript実行を大幅に高速化
ZDNet Japan Green IT
セキュリティ対策レベルテスト公開!
ZDNet Japan ホスティング特集
APC SOLUTIONS FORUM 2008をレポート
Techno Exchange
Webセキュリティ特集
仮想化環境で求められるストレージの要件
DELLが掲げる「新・仮想化アセスメントサービス」
「シンプル」&「低コスト」な運用管理