タグ

2010年10月8日のブックマーク (1件)

  • function hoge(){} と var hoge=function(){} の違い - 昼メシ物語

    javascriptはあまり得意ではなくて、この件について、定期的に忘れて同じ質問を人にしてしまっているので、ここに書いておく。 function hoge(){} と var hoge=function(){} に違いはあるのか? という問題について。結論から書くと、hogeのスコープが違う。(2010/10/08追記:誤りです。スコープは一緒ですね。うまく言えませんすみません…) まず、無名functionをvarに入れた場合。 hoge(); // => エラー! hogeはundefined値 var hoge = function() { alert("hello!"); } hoge()を呼び出している部分は、var hogeの宣言より上に書いてあるのでエラーになる。 一方で、名前つきfunctionを定義した場合はというと、 hoge(); // => "hello!" fu

    function hoge(){} と var hoge=function(){} の違い - 昼メシ物語