ファンクションを渡すと、いわゆるデリゲート処理っぽいことが自前でできます。
コールバックできたりするので重宝するのですが、可読性は当然下がりますw
あとで見ると、追わないとさっぱりわからなかったり・・・。
ま、JavaScript裸でこれ書く人もあまりいないかもしれませんが。。
ファンクションにファンクションを渡して実行するサンプル
親ファンクションに子ファンクションを渡して、親ファンクション内部で子ファンクションを実行するサンプルです。
この例では、ファンクションにファンクションを渡していますが、変数にファンクションを渡すことも同様にできます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script> function oya(func){ func(); } function ko(msg){ alert(msg); } </script> </head> <body> <button onclick="oya(ko('test!'));">実行する</button> </body> </html> |
実行結果
「実行する」ボタンを押すと、メッセージボックスに「test!」が表示されます。