JavaScriptでは関数もオブジェクト

JavaScriptでは、関数もオブジェクトです。 そのため関数を変数に代入することもできます。 C言語で関数ポインタを利用するようなコードも書くことができます。

function msgbox(){
    window.alert('bnote');
}
var fmsg = msgbox;
fmsg();

関数もオブジェクトであるため、toStringなどのメソッドを使用することができます。

function msgbox(){
    window.alert('bnote');
}
var fmsg = msgbox;
window.alert(fmsg.toString());

また、関数の定義と変数へのセットを同時に記述し、動的に関数を定義することもできます。 これを無名関数といいます。

var fmsg = function(){
    window.alert('bnote');
}
fmsg();