タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

functionに関するsky_2007のブックマーク (2)

  • 即時関数(function(){ ... })()の別の書き方いろいろ - 泥のように

    JavaScriptでよく使われるコード片に即時関数というものがあります。無名関数を宣言して即実行することで、ブロックスコープの存在しないJavaScriptにおいて擬似的にブロックスコープを再現します。 var a = "global"; (function(){ var a = "local"; alert(a); //local })(); alert(a); //global 一番有名なのはこの(function(){ ... })()の形式なのですが、なぜfunctionの外側にカッコが必要なのか不思議に思ったことはないでしょうか? ためしにfunction(){ ... }()と書いてみると、Syntax Errorが発生します。 なぜfunction(){ ... }()はSyntax Errorなのか JavaScriptにはfunction文とfunction式があって、

    即時関数(function(){ ... })()の別の書き方いろいろ - 泥のように
  • 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(){} の違い - 昼メシ物語
  • 1