0からのインフラ日誌

30代インフラエンジニアがWebインフラ・開発の備忘録を書き溜めていきます

Javascript入門⑤

ドットインストールの「Javascript入門」の学習メモです。 http://dotinstall.com/lessons/basic_javascript_v2

  • 本日は以下を学習しました。
    • #13 ローカル変数を使おう
    • #14 即時関数を使ってみよう

ローカル変数を使おう

  • 以下のように関数の中で定義した変数は、関数の外では使えない。
    例だと、結果は、greetはコンソールに正常出力されるが、msgはundefinedでエラーとなる。

    function hello(name){
      var msg="hello "+ name; //ローカル変数
      return msg;
    }
    var greet=hello("Tom");
    console.log(greet);
    console.log(msg);

  • 関数もデータ型であるので、変数に入れることが可能。

    var hello = function hello(name){
      var msg="hello "+ name; //ローカル変数
      return msg;
    }

    この時、関数名を以下のように省略する事が可能(無名関数と言う。)

    var hello = function(name){
      var msg="hello "+ name; //ローカル変数
      return msg;
    }

即時関数を使ってみよう

  • 関数定義後に即呼び出したい場合の記法。 例)通常ならこう書く所・・・

    function hello(name){   console.log("hello"); } hello("Tom");

    短縮する事が可能。

    (function hello(name){   console.log("hello"); })("Tom");

  • ローカル変数として外からのアクセス拒否し、安全性を保つ意味でも使われる。

    var x=10;
      y=20; console.log(x+y);

    このままだとx,yは好きにアクセス出来てしまうので、以下のように変更(x,yへのアクセス不可)。

    (function (){
      var x=10;
        y=20;
      console.log(x+y);
    })();