JavaScriptの関数とメソッドの違いについて

js
タイトルの通りです。
JavaScriptの関数(function)とメソッドの違いについて解説していきます。

[スポンサーリンク]

もくじ

関数
メソッド
メソッドのthisについて

関数

こちらは一般的な関数(function)です。

  display();

  function display() {
    alert("関数です。");
  }

メソッド

さきほどの関数(function)をオブジェクトにセットするとメソッドとなります。
関数とメソッドの違いは、たったこれだけです。

  var obj = new Object();
  obj.show = display;
  obj.show();

  function display() {
    alert("メソッドです。");
  }

メソッドのthisについて

メソッド内でよく登場する「this」ですが、こちらは自分自身をさしています。
こちらのソースでは、「obj」のプロパティ「val」へのアクセスをthisを使ってやっています。

  var obj = new Object();
  obj.val = "aaa";
  obj.show = display;
  obj.show();

  function display() {
    alert("valの値は、" + this.val + "です。");
  }

さいごに

Webサイトや本で関数・メソッドと書きわけているものがほとんどです。一見見た目は同じですが、それぞれに意味がちゃんとあるので理解を深めておくことをオススメします。

それでは!