関数のnameプロパティ

関数宣言パターンでは、読み取り専用のnameプロパティが利用できる。
ただし、値はブラウザによって異なる。

<script type="text/javascript">
function foo(){};
var bar = function(){};
var baz = function baz(){};

alert(foo.name);
alert(bar.name);
alert(baz.name);
</script>
  • Firefox3.6.13での実行結果

foo→空文字→barと表示された。

  • IE8.0.7600での実行結果

undefined→undefined→undefinedと表示された。
これは何かの間違いか。。。

  • Chrome9.0.597.98での実行結果

foo→空文字→barと表示された。